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

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

如何在C中将浮点数(例如37.777779)舍入小数点后的两位(37.78)?



万千封印
浏览 509回答 3
3回答

慕尼黑5688855

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

慕田峪7331174

假设你谈论的是打印的价值,那么安德鲁·科尔森和阿拉克答案是正确的:printf("%.2f", 37.777779);但是请注意,如果您的目标是将数字整为37.78,以便内部使用(例如与另一个值进行比较),那么这并不是一个好主意,因为浮点数字的工作方式:您通常不想对浮点数进行相等的比较,而是使用一个目标值+/-a西格玛值。或将数字编码为具有已知精度的字符串,并进行比较。中的链接格雷格·休吉尔对一个相关问题的回答,这也说明了为什么不应该使用浮点数进行财务计算。
打开App,查看更多内容
随时随地看视频慕课网APP