如何在安卓系统中对十进制数进行四舍五入

2022-09-02 04:57:45

可能的重复:
在Java中向上舍入的双精度值

我得到浮点数作为输入,我希望它在小数点后四舍五入到2位数字。例如,如果我得到18.965518作为输入,我希望它是18.97。怎么办?


答案 1

DecimalFormat使用String(因此分配额外的内存),与

(float)Math.round(value * 100) / 100

答案 2

您可以使用 DecimalFormat对象,类似于常规 Java。

尝试

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

(代码示例从 http://www.java-forums.org/advanced-java/4130-rounding-double-two-decimal-places.html)


推荐