如何在 Java 中将双位四舍五入到小数点后两位?

2022-08-31 14:31:00

这就是我所做的,将双倍四舍五入到2位小数:

amount = roundTwoDecimals(amount);

public double roundTwoDecimals(double d) {
    DecimalFormat twoDForm = new DecimalFormat("#.##");
    return Double.valueOf(twoDForm.format(d));
}

如果金额 = 25.3569 或类似的东西,这很有效,但如果金额 = 25.00 或金额 = 25.0,那么我得到 25.0!我想要的是舍入以及格式化为2位小数。


答案 1

只需使用:(像馅饼一样简单)

double number = 651.5176515121351;

number = Math.round(number * 100);
number = number/100;

输出将为 651.52


答案 2

你在用钱吗?创建一个然后将其转换回来是相当循环的。String

用。这个问题已经讨论得相当广泛。你应该有一个类,金额应该是一个 .BigDecimalMoneyBigDecimal

即使您不用钱,也可以考虑.BigDecimal


推荐