DecimalFormat 返回? 當賦予它的值為負時,用符號代替-符號。我使用帶有 SCRIPT 包和 JDK12.0.2 的 ATOM。我可以用幾乎任何其他符號替換“ - ”符號,DecimalFormat 將給出正確的輸出。這就是這個問題讓我感到困惑的原因。我嘗試調查區域設置問題,但未能解決該問題。double nTest = -20.20;System.out.println("simtest " + nTest + "C");private static DecimalFormat desFor = new DecimalFormat("#0.0;-#0.0");System.out.println("simtest " + desFor.format(-20.20) + "C");System.out.println("simtest " + desFor.format(21.45) + "C");private static DecimalFormat desForAny = new DecimalFormat("#0.0;*#0.0");System.out.println("simtest " + desForAny.format(-20.20) + "C");結果simtest -20.2Csimtest ?20,2C <=== expected -20,2Csimtest 21,4Csimtest *20,2C
1 回答

MMMHUHU
TA貢獻1834條經驗 獲得超8個贊
嘗試設置java.util.Locale
DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance(Locale.ENGLISH); DecimalFormat desFor = new DecimalFormat("#0.0;-#0.0", symbols);
添加回答
舉報
0/150
提交
取消