2012-01-27 108 views
10

DecimalFormat使用','作爲默認分組分隔符。DecimalFormat沒有分組分隔符字符

告訴DecimalFormat我們不需要任何分組分隔符的正確方法是什麼?我目前使用symbols.setGroupingSeparator('\ 0'),它似乎工作, ,但它看起來很醜。

DecimalFormatSymbols symbols = new DecimalFormatSymbols(); 
symbols.setDecimalSeparator('.'); 
symbols.setGroupingSeparator('\0'); 

DecimalFormat df = new DecimalFormat(); 
df.setDecimalFormatSymbols(symbols); 

ParsePosition pp = new ParsePosition(0); 
Number result = df.parse("44,000.0", pp); // this should fail, as I don't want any grouping separatator char. 
if (pp.getIndex() != input.length()) 
    throw new Exception("invalid number: " + input, 0); 

什麼是告訴DecimalFormat我們不想要任何分組分隔符char的正確方法?

+0

這是一個不好的做法,設置組分隔符「\ 0」? – 2016-09-29 19:17:35

回答

2

您可以使用setGroupingUsed()方法,但不會使格式拒絕數字,它會停止在第一個分隔符處解析。用格式解析數字將忽略第一個無效字符後的所有內容。