Search code examples
javastring-parsing

How do I parse ANY Number type from a String in Java?


How do I parse ANY Number type from a String in Java?

I'm aware of the methods like Integer.parseInt(myString) and Double.parseDouble(myString) but what I optimally want is a method like Number.parseNumber(myString) which doesn't exist. How can I achieve that behaviour in another way? (I want the parsed Number to reflect the String "exactly" in terms of for example number of decimals).

Example:

"0" => Number (internally of Integer subclass)

"0.0" => Number (internally of Double subclass)

Also, no ugliness like checking for decimal separators etc.


Solution

  • Number number = NumberFormat.getInstance().parse(myString);
    

    Seems to do the trick...