我想在逗号后打印一个浮点值,该值具有2个整数和6个十进制数字。如果我只是使用,printf("%f", myFloat)
我会得到一个被截断的值。
我不知道这种情况是否总是在C语言中发生,或者只是因为我在微控制器中使用C语言(确切地说是CCS),但是在参考文献中它告诉%f
我们:截断的浮点数。
如果我的浮点数是44.556677
,我"44.55"
只打印出前两位十进制数字。
所以问题是...我该如何打印我的6位数字(只有其中的6位数字,以防万一我在那之后有零)?
我想在逗号后打印一个浮点值,该值具有2个整数和6个十进制数字。如果我只是使用,printf("%f", myFloat)
我会得到一个被截断的值。
我不知道这种情况是否总是在C语言中发生,或者只是因为我在微控制器中使用C语言(确切地说是CCS),但是在参考文献中它告诉%f
我们:截断的浮点数。
如果我的浮点数是44.556677
,我"44.55"
只打印出前两位十进制数字。
所以问题是...我该如何打印我的6位数字(只有其中的6位数字,以防万一我在那之后有零)?
Answers:
您可以这样做:
printf("%.6f", myFloat);
6代表小数点分隔符之后的位数。
2
不代表小数点前的位数,这意味着最低总字段宽度(这将已经大于2),所以这里什么都不做。
printf("%9.6f", myFloat)
指定一种格式,该格式总共包含9个字符:点前2位,点本身以及点后6位。
%09.6f
也可能是一个选择。
printf("%9.6f", myFloat)
,如果我在点前输入3位数,那么它仍会在点前输出3位数。你能解释为什么吗?
printf("%.<number>f", myFloat) //where <number> - digit after comma
printf("%.numberf", myFloat)
坦克你有用的链接!
%2.6f
如果您的运行时库支持,则听起来像正确的格式字符串。