How to parse number string containing commas into an integer in java?

exception, java, number-formatting

Solution

Is this comma a decimal separator or are these two numbers? In the first case you must provide `Locale` to `NumberFormat` class that uses comma as decimal separator:

NumberFormat.getNumberInstance(Locale.FRANCE).parse("265,858")

This results in `265.858`. But using US locale you'll get `265858`:

NumberFormat.getNumberInstance(java.util.Locale.US).parse("265,858")

That's because in France they treat comma as decimal separator while in US - as grouping (thousand) separator.

If these are two numbers - `String.split()` them and parse two separate strings independently.

Problem

I'm getting `NumberFormatException` when I try to parse 265,858 with `Integer.parseInt()`. Is there any way to parse it into an integer?

Original source