当前位置: 代码迷 >> C语言 >> 关于实数123.456按%f和%10.2f输出的问题请教
  详细解决方案

关于实数123.456按%f和%10.2f输出的问题请教

热度:619   发布时间:2007-05-24 14:57:34.0
关于实数123.456按%f和%10.2f输出的问题请教
看下面的程序:
main()
{
float f=123.456;
printf("%f,%10.2f",f,f);
}
结果是123.456001,12.46
请问:1)为什么第一个是123.456001,而不是123.456000
2)第2个为什么是123.46,为什么不是123.45 是四舍五入吗?
还有 下面的程序
main()
{
printf("%f,%10.2f",123.456,123.456);
}
输出结果是123.456000,123.46 和上面的程序有什么区别呢

[此贴子已经被作者于2007-5-24 15:06:41编辑过]

搜索更多相关的解决方案: 实数  输出  

----------------解决方案--------------------------------------------------------
以下是引用yang966122在2007-5-24 14:57:34的发言:
看下面的程序:
main()
{
float f=123.456;
printf("%f,%10.2f",f,f);
}
结果是123.456001,12.46
请问:1)为什么第一个是123.456001,而不是123.456000
2)第2个为什么是123.46,为什么不是123.45 是四舍五入吗?
还有 下面的程序
main()
{
printf("%f,%10.2f",123.456,123.456);
}
输出结果是123.456000,123.46 和上面的程序有什么区别呢

10.2F是.2是指输出两位小数。


----------------解决方案--------------------------------------------------------
  你没特殊说明,浮点型数据都是六位小数输出!
----------------解决方案--------------------------------------------------------
  相关解决方案