2012-07-21 24 views
7

Java的NumberFormat是1)非線程安全的(可以用ThreadLocal解決); 2)inconvenient to use correctly對於最簡單的用例時,我知道該字符串是否應包含的int,long或double,並希望有一個像API:安全解析數字和區域設置敏感

int parseInt(String str, Locale locale) throws ParseException; 
int parseInt(String str, int defaultValue, Locale locale); 
long parseLong(String str, Locale locale) throws ParseException; 
long parseLong(String str, long defaultValue, Locale locale); 
double parseDouble(String str, Locale locale) throws ParseException; 
double parseDouble(String str, double defaultValue, Locale locale); 

在當字符串不完全解析拋出異常。顯然,這樣一個包裝很容易寫,但我無法在Guava或Apache Commons Lang中找到。我錯過了嗎?或者還有另一個或多或少的標準解決方案?

+0

'Integer.parseInt'和弟兄們的問題是什麼? – 2012-07-21 12:33:13

+0

我想它不支持不同的數字格式? – 2012-07-21 12:36:29

+0

@MarkoTopolnik他們是獨立於語言環境的,所以不要使用正確的小數點分隔符等。 – 2012-07-21 12:38:12

回答

相關問題