簡體   English   中英

java從字符串解析double值作為文字值

[英]java parse double value from string as literal value

如何將字符串解析為文字雙精度值? 我有一組使用Double.valueOf(probabilityString)解析的概率值,需要精確到1.0d

例如,所得到的雙值的總和為0.999999...當概率字符串是0.2, 0.5, 0.2, 0.1

我想要的是將雙值分析為0.2d, 0.5d, 0.2d, 0.1d這可能嗎?

我正在處理一個接受double[]作為參數的第三方庫,如果double值沒有精確地總結為1.0d ,則拋出異常。

雙打只有64位長。 有無窮無盡的實數。 因此,不可能將每個真實表示為64位雙精度。 因此,使用雙打將始終導致近似結果。 如果您需要絕對精度,請使用BigDecimal。

使用Java中可用的BigDecimal

看到這個鏈接 ,它一定會對你有所幫助。

如果您有任何疑問,請告訴我。

嘗試這個:

DecimalFormat df =(DecimalFormat)NumberFormat.getInstance(); 
df.setParseBigDecimal(true); 
BigDecimal bd = (BigDecimal) df.parse(probabilityString);

暫無
暫無

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

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