我得到浮点数作为输入,我希望它在小数点后舍入到2位数。 即,例如,如果我输入18.965518,我希望它是18.97。怎么做?
答案 0 :(得分:37)
DecimalFormat使用String(因此分配额外的内存),与
相比,开销很大(float)Math.round(value * 100) / 100
答案 1 :(得分:34)
您可以使用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)