%g doesn't print as many decimal places as %f

This is a discussion on %g doesn't print as many decimal places as %f within the C Programming forums, part of the General Programming Boards category; Take a look at this: Code: int main() { double x, y; x = 5; y = 2.75; printf("x is ...

  1. #1
    Registered User
    Join Date
    Mar 2008
    Posts
    10

    %g doesn't print as many decimal places as %f

    Take a look at this:

    Code:
    int main() {
    	double x, y;
    	x = 5;
    	y = 2.75;
    
    	printf("x is %f and y is %f\n", x, y);
    
    	return(0);
    }
    That will print 'x is 5.00000000 and y is 2.7500000000000' or somesuch.
    I wanted to get rid of the useless zeroes, so somebody suggested using %g instead. Problem is, that rounds to the nearest ten thousanth (four decimal places), while %f works to six (nearest millionth).

    Any ideas? If possible, I'd like to retain the functionality of %g but have six significant decimal places.

  2. #2
    and the Hat of Guessing tabstop's Avatar
    Join Date
    Nov 2007
    Posts
    14,185
    %g only truncates closing zeroes; at least on my machine, this code
    Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    int main(void) {
    
        float b = 0.0078125f;
        printf("%f %g %6g\n", b, b, b);
        return 0;
    }
    prints this
    Code:
    0.007813 0.0078125 0.0078125
    But you should be able to specify a print format with %g just as well as with %f.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. What kind of programs should I start writing?
    By Macabre in forum C++ Programming
    Replies: 23
    Last Post: 04-12-2003, 08:13 PM
  2. Getting Two Decimal Places
    By LostNotFound in forum C++ Programming
    Replies: 1
    Last Post: 03-29-2003, 07:34 PM
  3. decimal places
    By Unregistered in forum C++ Programming
    Replies: 5
    Last Post: 08-01-2002, 07:08 PM
  4. Replies: 1
    Last Post: 07-31-2002, 11:35 AM
  5. Decimal to binary conversion help needed
    By Unregistered in forum C Programming
    Replies: 6
    Last Post: 02-06-2002, 12:03 PM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21