如何判断以字符串表示的十进制数字是否适合双精度?

丰富:

我正在解析一个我知道包含数字的字符串值。

如果它仅包含数字,并且介于Integer.MIN_VALUE和Integer.MAX_VALUE之间,则将其解析为一个int,类似的时间很长,否则我将使用BigInteger。

如果它包含一个十进制值,我想将其解析为双精度或BigDecimal。

我可以测试字符串中的数字值是否适合双精度数,因此可以安全地解析为双精度数,或者是否需要将其保留在BigDecimal中以防止精度下降?

雅各布·G:

并因此可以安全地解析为双精度数,或者是否需要将其解析为BigDecimal以防止精度损失?

这不是您要寻找的答案,但是由于您似乎担心精度下降,因此应使用BigDecimal代替any double

0.1可以适合double,但不是精确(因为0.1不能在准确的二进制表示)。

请参阅:浮点数学运算是否已损坏?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将十进制数字从字符串转换为双精度

追加两个十进制数字字符串并解析为双精度

如何在字符串资源中使用十进制数字(双精度数据类型)作为占位符

在字符串中添加2个十进制数字,保持精度

如何在双精度双精度和十进制字符串之间转换?

从字符串获取多十进制数字

为什么要使用JSON中的字符串表示十进制数字

如何提取字符串中的十进制数字?

如何将ASCII字符串转换为十进制数字?

将float转换为具有精度和指定的十进制数字的字符串?

用于检查字符串是否为数字(包括十进制数字)的正则表达式

如何从字符串中的多个数字中提取一个十进制数字

在ECMA-262严格模式下,是否允许在字符串中使用\\后跟十进制数字?

PHP-检查字符串是否仅包含整数或半个十进制数字的最优雅的方法?

从Excel VBA中的字母数字字符串中提取十进制数字

确保十进制数字的字符串代表总是n个字符长

R:如何在打印语句中连接十进制数字值和字符串?

如何防止JSONObject来自json.jar将十进制数字字符串转换为double

十进制数字的字符代码表示

将十进制数字字符串转换为BCD的算法

确保代表十进制数字的字符串在“。”之前具有0。

红宝石。将字符串拆分为单独的十进制数字

从小时跟踪字符串中捕获完整的十进制数字

从C#中的字符串中提取十进制数字

检查字符串中的两个十进制数字

从Sparklyr中的字符串中提取十进制数字

将字符串编码为十进制数字-javascript

将数字字符串格式化为2个十进制双精度字,与数字字符串长度无关

如何检测货币是否接受十进制数字?