在Java中将浮点数向下舍入为2个小数点

3ks5zfa0  于 2022-10-01  发布在  Java
关注(0)|答案(2)|浏览(193)

我有一个变量x是11.885,当我把它四舍五入到两个小数点时,我希望它给我11.88%,但它不起作用,我也算不出来。我不会使用IMPORT或任何东西,但我只是想不出一种方法来向下舍入这个数字。

我最初使用的是:

double x = 11.885     
double y = (double) Math.round(x * 100.0) / 100.0;

但这给了我11.89。我也需要它而不打印它,因为我将在代码中使用这个四舍五入的数字。

lzfw57am

lzfw57am1#

试试BigDecimal,它有很多类似这样的有用功能。

double x = 11.885;
BigDecimal y = BigDecimal.valueOf(x);
y.setScale(2, BigDecimal.ROUND_HALF_UP)
a1o7rhls

a1o7rhls2#

使用Math.floor(double)代替Math.round(double),如下所示

double x = 11.885;
double y = Math.floor(x * 100) / 100.0;
System.out.println(y);

我得到(按要求)

11.88

相关问题