从具有逗号的数字字符串转换为int

Gan*_*esh 3 java

我有这样的价值:

String x = "10,000";
Run Code Online (Sandbox Code Playgroud)

我想把它转换成int.
我可以通过删除下面的逗号来转换它:

String y = x.replace(",", "");
int value1 = Integer.parseInt(y);
Run Code Online (Sandbox Code Playgroud)

但我不想像上面那样去做.

任何其他建议,如内置功能?或者其他任何推荐的方法?

Mar*_*oun 15

你可以简单地说:

NumberFormat.getNumberInstance(Locale.UK).parse(x);
Run Code Online (Sandbox Code Playgroud)

阅读:

  • @grimmeld我以为OP想把它解析为10,纠正了.通常,我希望OP在提供答案时进行更多调查,他可能会尝试所有可用的Locale.谢谢你的评论. (2认同)

Ank*_*hag 5

尝试这个:

 NumberFormat format = NumberFormat.getInstance(Locale.US);    
 Number number = format.parse("10,000"); 

 // Now you can get number values from the object (like int, long, double)
 System.out.println(number.intValue()); 
Run Code Online (Sandbox Code Playgroud)

输出:

10000

注意:如果字符串包含小数点后的值,则需要使用number.doubleValue保留精度,因为number.intValue()它将简单地忽略小数点后的值。