繁体   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