我只想为浮点数取小数点后两位而不四舍五入。例如。4.21777 应该是 4.21 而不是 4.22。我该怎么做呢?
问问题
10481 次
3 回答
7
一个简单的答案:
double x = 4.21777;
double y = Math.floor(x * 100) / 100;
于 2013-02-18T18:00:59.457 回答
1
减去0.005
然后四舍五入。例如,如果您只想打印数字,则可以使用格式%f6.2
和值x-0.005
。
于 2013-02-18T18:01:52.940 回答
0
float f = 4.21777 * 100;
int solution = (int)f;
f = solution/100;
这应该工作;)
解释:乘以 100,您将得到 421.777,将 castet 转换为 int,向下舍入为 421。现在除以 100 返回其实际值。
于 2013-02-18T18:02:12.323 回答