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

时间:2015-10-08 14:08:39

标签: java string-parsing

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

我知道像Integer.parseInt(myString)Double.parseDouble(myString)这样的方法,但我最想要的是像Number.parseNumber(myString)这样的方法,它不存在。我怎样才能以另一种方式实现这种行为? (我想要解析的数字反映字符串"确切地说"就例如小数位数而言)。

示例:

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

" 0.0" =>数字(Double子类内部)

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

3 个答案:

答案 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

请记住,数字可以多种形式表示为字符串。例如11.0000000的号码相同。