1

我只想为浮点数取小数点后两位而不四舍五入。例如。4.21777 应该是 4.21 而不是 4.22。我该怎么做呢?

4

3 回答 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 回答