我在編寫一個簡單的java程序。我需要從輸入中獲取一個字符串,並將其分爲兩部分:1雙2字符串。 然後我需要對double進行簡單的計算,並將結果以特定的精度發送到輸出(4)。它工作正常,但輸入爲0時出現問題,則無法正常工作。在java中具有特定精度的雙精度值
例如,對於這些輸入,輸出將是:
1公斤
輸出:2.2046
3.1公斤
輸出:6.8343
但是,當輸入爲0時,輸出應爲0.0000,但它顯示爲0.0。 我該如何強制顯示0.0000?
我讀到雙精度類似的職位,他們認爲像BigDecimal
類,但我不能在這種情況下使用它們, 我做這個代碼是:
line=input.nextLine();
array=line.split(" ");
value=Double.parseDouble(array[0]);
type=array[1];
value =value*2.2046;
String s = String.format("%.4f", value);
value = Double.parseDouble(s);
System.out.print(value+" kg\n");
試試 「%0.4F」。這意味着'格式化一個浮點值,填充零直到你有4位數'。 – user268396
我使用「%.4f」,但它顯示此錯誤:異常在線程「main」java.util.MissingFormatWidthException:0.4f – MehrdadSComputer
另請參見http://stackoverflow.com/questions/10959424/show-only-two-小數點後的數字,但這不是重複的,因爲格式想要爲0. – Raedwald