[英]Java DecimalFormat - incorrect number format in linux
我在Linux環境中解析十進制數字時遇到問題。 當我在Windows中解析時,一切都很好。
下面是代碼段
String price; DecimalFormat FORMATTER = (DecimalFormat)DecimalFormat.getInstance(); double customPrice = FORMATTER.parse(price).doubleValue();
結果
當price ='9'時customPrice ='9.0'-可以
當price ='1,00'然后customPrice ='100.0'-錯誤
當price = '25,00'時customPrice ='2500.0'-錯誤
你能告訴我問題是什么嗎? 謝謝
在此處閱讀有關語言環境的信息,可能您正在使用en_US,這會導致“,”符號將成千上萬的字符分開。
你也可以使用
DecimalFormatSymbols unusualSymbols = new DecimalFormatSymbols(currentLocale);
unusualSymbols.setDecimalSeparator(',');
DecimalFormat weirdFormatter = new DecimalFormat(strange, unusualSymbols);
weirdFormatter.setGroupingSize(4);
陳述自己的分隔符
您可以更改DecimalFormat的小數點分隔符。 通過使用帶有所需語言環境的NumberFormat的最簡單方法,例如:
NumberFormat FORMATTER = NumberFormat.getNumberInstance(Locale.GERMAN);
double customPrice = FORMATTER.parse(price).doubleValue();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.