如何在Android中舍入十进制数

Son*_*iya 17 java android

可能重复:
在Java中向上舍入的Double值

我得到浮点数作为输入,我希望它在小数点后舍入到2位数.即例如,如果我得到18.965518作为输入,我希望它是18.97.怎么做?

vma*_*tyi 39

DecimalFormat使用String(因此分配额外的内存),与之相比,开销很大

(float)Math.round(value * 100) / 100
Run Code Online (Sandbox Code Playgroud)


Ric*_*ett 37

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

尝试

double roundTwoDecimals(double d)
{
    DecimalFormat twoDForm = new DecimalFormat("#.##");
    return Double.valueOf(twoDForm.format(d));
}
Run Code Online (Sandbox Code Playgroud)

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