簡體   English   中英

如何解析Java中的字符串中的任何數字類型?

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

如何解析Java中的字符串中的任何數字類型?

我知道像Integer.parseInt(myString)Double.parseDouble(myString)這樣的方法,但我最理想的是像Number.parseNumber(myString)這樣的方法,它不存在。 我怎樣才能以另一種方式實現這種行為? (我希望解析后的Number能夠根據例如小數位數“精確地”反映字符串)。

例:

“0”=>數字(整數子類內部)

“0.0”=>數字(Double子類內部)

此外,沒有像檢查小數分隔符等丑陋。

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

似乎要做的伎倆......

更好的方法是使用BigDecimal類。

BigDecimal n = new BigDecimal("1.0");

需要值的方法

n.byteValue();  
n.intValue();  
n.shortValue();  
n.longValue();  
n.floatValue();  
n.doubleValue();

您可能正在尋找BigDecimal

請記住,數字可以多種形式表示為字符串。 例如, 11.0000000數字相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM