C中%g的输出格式

%g的输出格式

《C Primer Plus》

%g      根据数值不同自动选择 %f 或 %e ,%e 格式在指数小于-4或者大于等于精度时使用。

《C程序设计》

g格式符。用来输出浮点数,系统自动选f格式或e格式输出,选择其中长度较短的格式,不输出无意义的0.

《C陷阱与缺陷》

1:%g用于打印浮点型数据时,会去掉多余的零,至多保留六位有效数字;

2:当%g用于打印超过6位的浮点型数据时,对于所有格式说明符都一样会遇到这样的问题,因为精度问题,%f不得不输出一个不精确的超过六位的数字,%e也是同样,而%g此时会选择%e格式进行输出,并且按第一条要求,去掉多余的零,并且四舍五入到6位数字。这是《C Primer Plus》中所说的超过精度的时候的情况;

3:当一个数字的绝对值很小的时候,要表示这个数字所需要的字符数目就会多到让人难以接受。举例而言,如果我们把π*10^-10写作0.00000000000314159就会显得非常丑陋不雅,反之,如果我们写作3.14159e-10,就不但简洁而且易读好懂,当指数是-4时,这两种表现形式大小相同。对于比较小的数值,除非该数的指数小于或者等于-5,%g才会采用科学计数法来表示,即,以%e的格式进行输出。

你可能感兴趣的:(C语言)