如何将浮点值打印到小数点后2位而不会四舍五入

前端之家收集整理的这篇文章主要介绍了如何将浮点值打印到小数点后2位而不会四舍五入前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > How to cut decimal off without rounding in C5个
例如,我想在c中打印一个最多2位小数的值,而不是将其四舍五入.

喜欢:

a = 91.827345;
printf("%.2f",a);

将打印91.83,但我希望输出仅为91.82.怎么做?

解决方法

我建议更短更快的方法
printf("%.2f",((signed long)(fVal * 100) * 0.01f));

这样你就不会溢出int,再乘以100不应该影响有效数字/尾数本身,因为唯一真正改变的是指数.

猜你在找的C&C++相关文章