如何解析Java中的字符串中的任何数字类型?
我知道像Integer.parseInt(myString)
和Double.parseDouble(myString)
这样的方法,但我最想要的是像Number.parseNumber(myString)
这样的方法,它不存在。我怎样才能以另一种方式实现这种行为? (我想要解析的数字反映字符串"确切地说"就例如小数位数而言)。
示例:
" 0" => Number(Integer子类内部)
" 0.0" =>数字(Double子类内部)
此外,没有像检查小数分隔符等那样的丑陋。
答案 0 :(得分:3)
Number number = NumberFormat.getInstance().parse(myString);
好像有把戏......
答案 1 :(得分:1)
更好的方法是使用BigDecimal类。
BigDecimal n = new BigDecimal("1.0");
所需值的方法
n.byteValue();
n.intValue();
n.shortValue();
n.longValue();
n.floatValue();
n.doubleValue();
答案 2 :(得分:0)
您可能正在寻找BigDecimal。
请记住,数字可以多种形式表示为字符串。例如1
与1.0000000
的号码相同。