2011-10-23 6 views
5

整数値を持つファイルをコンマで区切って解析しています。groovy文字列 "1,503"を整数に変換

String s = "1,503" 
Integer i = new Integer(s) 

は、解析例外をスローします。これを解析する簡単な方法はありますか?

おかげ

答えて

6

代わりに使用NumberFormat。たとえば、Javaで:

import java.util.*; 
import java.text.*; 

public class Test { 
    public static void main(String args[]) throws ParseException { 
     NumberFormat format = NumberFormat.getIntegerInstance(Locale.US); 
     Long parsed = (Long) format.parse("1,234"); 
     System.out.println(parsed); 
    } 
} 

(。あなたは、その後、もちろん、Longから整数値を取得することができます)

私はそのコンマが桁区切り記号として使用されている保証するためにLocale.USを明示的に指定しました。入力が異なる場合、別のロケールを使用することができます。

+0

を使用します。 – Ray

7

少し面白い方法かもしれません。

int a = java.text.NumberFormat.instance.parse('1,234') 

しかし、これは驚くばかりのジョン、感謝のデフォルトロケール

+0

それはGroovyです、ありがとうTim – Ray

+0

ファンキーな..........! –

関連する問題