Search code examples
javaexceptionnumber-formatting

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


I'm getting NumberFormatException when I try to parse 265,858 with Integer.parseInt().

Is there any way to parse it into an integer?


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.