例如,我的號碼是137.99999999999。 如何將其格式化爲像137.9這樣的一位小數位?如何縮短Java中的長十進制數?
另一個例子是4.7777777777 4.7
注:我不想舍數在所有。我只想將它截斷爲一位小數。
例如,我的號碼是137.99999999999。 如何將其格式化爲像137.9這樣的一位小數位?如何縮短Java中的長十進制數?
另一個例子是4.7777777777 4.7
注:我不想舍數在所有。我只想將它截斷爲一位小數。
使用NumberFormat如果您需要更多特殊的辦法,以4.77爲4.7顯示,而不是4.8(這是RoundingMode.DOWN):
NumberFormat format = NumberFormat.getInstance();
format.setRoundingMode(RoundingMode.DOWN);
format.setMaximumFractionDigits(2);
System.out.println(format.format(4.7777));
輸出是4.77
然後可以使用NumberFormat和RoundingMode.DOWN。 – h22
你可以在這裏找到一個複雜的答案: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));
當你搜索
'java.lang.Long'中沒有將'double'作爲參數的構造函數。 –
道歉!編輯它 –
,你發現了什麼?我很難相信網上沒有太多例子。 –
'3.19'呢?它會成爲'3.2'還是'3.1'? – Maroun
我找不到任何有用的東西。我試圖在谷歌和本網站上尋找它。 – Gretta