为了账号安全,请及时绑定邮箱和手机立即绑定

舍入数到C中的2个十进制位置

舍入数到C中的2个十进制位置

C
万千封印 2019-06-19 19:34:42
舍入数到C中的2个十进制位置如何在C中将浮点数(例如37.777779)舍入小数点后的两位(37.78)?
查看完整描述

3 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

printf("%.2f", 37.777779);


查看完整回答
反对 回复 2019-06-19
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

假设你谈论的是打印的价值,那么安德鲁·科尔森阿拉克答案是正确的:

printf("%.2f", 37.777779);

但是请注意,如果您的目标是将数字整为37.78,以便内部使用(例如与另一个值进行比较),那么这并不是一个好主意,因为浮点数字的工作方式:您通常不想对浮点数进行相等的比较,而是使用一个目标值+/-a西格玛值。或将数字编码为具有已知精度的字符串,并进行比较。

中的链接格雷格·休吉尔对一个相关问题的回答,这也说明了为什么不应该使用浮点数进行财务计算。


查看完整回答
反对 回复 2019-06-19
  • 3 回答
  • 0 关注
  • 508 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信