搜索
查看: 2973|回复: 10
打印 上一主题 下一主题

float a=234.89; printf("%f",a);问为何输出234.889999

[复制链接]
楼主
发表于 2012-9-21 14:16:55 | 显示全部楼层
float a=234 结果是234.000000
float a=234.1结果是234.100006
它的精确位数是按照你的输入位数来确定的:输入a是两位位小数,它就精确到小数点后第2位,后面的数没有意义
电脑还不是建立在微积分上的存储,0.089999就是0.09的意思,只是浮点数的输出的标准格式是6~7位小数。
你要("%.2f)就能输出两位小数
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表