C语言编程中怎么自动去掉浮点数小数点后没用的0。

如题所述

#include<stdio.h>

int main()

{

float a=3.123000;

printf("%g\n",a);//自动省略后面无意义的0

return 0;

}

扩展资料

C语言浮点数

浮点数的值等于尾数乘以 2^x。读者应该注意,上图是二进制分数,因此 0.1表示 1/2。为了方便理解,我们可以将其与十进制的小数对应起来:十进制的 0.1 等于 1*10^-1,所以二进制的 0.1 等于1*2^-1,也即 1/2。

“尾数+指数”模式存储浮点数可能有一点问题,例如:2x10^-1=0.2x10^0=0.02x10^1,依此类推。同样一个数字可能有多种“尾数+指数”的表示方法,而同时兼顾多种表示方法势必会造成巨大的浪费。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-05
可以通过%.xf或者%.xlf来限制,其中x是一个整数;
如果保留一位小数x 为1,两位为2;
以此类推;

注意%.xf的x的值不能大于7,由于float类型的精确度只有小数点后7位;
%.xlf的x的值不能大于15,double类型的精确度只有小数点后15为;

通过限制小数点的位数,去掉多余的0;。
第2个回答  推荐于2017-10-08
可以通过%.xf或者%.xlf来限制,其中x是一个整数;
如果保留一位小数x 为1,两位为2;
以此类推;

注意%.xf的x的值不能大于7,由于float类型的精确度只有小数点后7位;
%.xlf的x的值不能大于15,double类型的精确度只有小数点后15为;

通过限制小数点的位数,去掉多余的0;

希望能有帮助~本回答被提问者和网友采纳
第3个回答  2019-08-15
使用cout输出