groovy将String“1,503”转换为Integer

时间:2011-10-23 14:01:38

标签: groovy

我正在使用逗号分析具有整数值的文件以分隔数千个。

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

不起作用,抛出一个解析异常。有没有一种简单的方法来解析它?

由于

2 个答案:

答案 0 :(得分:7)

可能会有一种更加时髦的方法;

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

但这将使用默认语言环境

答案 1 :(得分: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以保证逗号用作千位分隔符;如果输入可能不同,您可能希望使用其他语言环境。