在C++,如何在不使用'floor'函数的情况下删除小数点后第二位?



如果存在一个项目,则只能使用"%.nf"或"casting"来限制值。你怎么能把小数点后第二位去掉(不四舍五入(?

((int)(x*100))/100.0

它是如何工作的?

x*100将两位数字从小数点后移到小数点前。

(int)使浮点值为整数,去掉所有剩余的十进制数字。

/100.0将最后两位数字移到小数点后面,即小数点之前的位置。

请注意,由于IEEE-754内部存储浮点数的方式,实际浮点数在小数点后可能没有正好2位数字。

相关内容