我有一个变量x是11.885,当我把它四舍五入到两个小数点时,我希望它给我11.88%,但它不起作用,我也算不出来。我不会使用IMPORT或任何东西,但我只是想不出一种方法来向下舍入这个数字。
我最初使用的是:
double x = 11.885 double y = (double) Math.round(x * 100.0) / 100.0;
但这给了我11.89。我也需要它而不打印它,因为我将在代码中使用这个四舍五入的数字。
lzfw57am1#
试试BigDecimal,它有很多类似这样的有用功能。
double x = 11.885; BigDecimal y = BigDecimal.valueOf(x); y.setScale(2, BigDecimal.ROUND_HALF_UP)
a1o7rhls2#
使用Math.floor(double)代替Math.round(double),如下所示
Math.floor(double)
Math.round(double)
double x = 11.885; double y = Math.floor(x * 100) / 100.0; System.out.println(y);
我得到(按要求)
11.88
2条答案
按热度按时间lzfw57am1#
试试BigDecimal,它有很多类似这样的有用功能。
a1o7rhls2#
使用
Math.floor(double)
代替Math.round(double)
,如下所示我得到(按要求)