[英]How can I limit the amount of decimal places for a calculated float value?
当我计算 5/2 时,结果是 2.500000,所以我想知道如何将浮点值的结果限制为 2.50。 我没有使用 cout setprecision() 或 fixed 语句,因为我需要算术值的实际结果只有 2 位小数。
如果您不想使用某些小数位,那么使用ceil()
, floor()
, round()
怎么样?
首先,2/5 给出 2,因为这样写会进行整数除法。 只有2.0f/5.0f
会给你一个浮动。
其次, std::setprecision
做的唯一一件事就是在执行std::cout
时修改控制台上显示的位数,它不会更改变量或表达式的值。
如果你想将你的结果舍入到小数点后一位而不使用标准函数,你可以做类似的事情
float a = 3.1415;
float b = ((int)(a*10+0.5))/10.0 // b is a rounded to one decimal place
但是如果您将std::setprecision
设置为小数点后 5 位,它仍会向您显示最后一位小数点后的所有零。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.