如何从 Java 中的字符串解析任何数字类型?

Joa*_*kim 3 java string-parsing

如何从 Java 中的字符串解析任何数字类型?

我知道类似的方法Integer.parseInt(myString)Double.parseDouble(myString)但我最想要的是一种Number.parseNumber(myString)不存在的方法。我怎样才能以另一种方式实现这种行为?(我希望解析后的数字能够“完全”反映字符串,例如小数位数)。

例子:

"0" => Number (Integer 子类的内部)

"0.0" => Number (Double 子类的内部)

此外,没有像检查小数点分隔符等丑陋。

Joa*_*kim 6

Number number = NumberFormat.getInstance().parse(myString);
Run Code Online (Sandbox Code Playgroud)

似乎可以解决问题...

  • 只返回 Long 和 Double。不完全是你最初要求的。 (4认同)
  • 即使这是*您*想要的,也值得为未来的读者记录下来,这可能不是他们想要的(因为他们可能想要一个工厂方法,该方法返回的不仅仅是“Long”和“Double”。 ) (2认同)