簡體   English   中英

Java DecimalFormat-Linux中不正確的數字格式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM