例如,我的号码是137.99999999999。 你如何格式化为一个小数位,如137.9?
另一个例子是4.7777777777到4.7
注意:我根本不想对数字进行舍入。我只是想把它截断到一个小数位。
答案 0 :(得分:3)
如果您需要更多特殊方法来显示4.77为4.7而不是4.8(这是NumberFormat),请使用RoundingMode.DOWN:
NumberFormat format = NumberFormat.getInstance();
format.setRoundingMode(RoundingMode.DOWN);
format.setMaximumFractionDigits(2);
System.out.println(format.format(4.7777));
输出为4.77
答案 1 :(得分:0)
您可以在此处找到精心解答的答案:Round a double to 2 decimal places
将它调整为1位小数,你就可以了。
或者,另一种截断为一个小数点的简单方法是:
String numberString = "137.99999999999";
int indexOfDecimal = numberString.indexOf('.');
Double truncatedNumber = new Double(numberString.subString(0,indexOfDecimal+2));