double的小数后允许的最大位数

时间:2014-04-24 16:31:42

标签: double digits

  

您好,

     

我想知道十进制后允许多少位数   指向java中的原始double数据类型,而不实际获取   四舍五入。

2 个答案:

答案 0 :(得分:0)

这取决于数量;阅读floating point representations了解更多信息。

使用BigDecimal类进行固定比例运算。

答案 1 :(得分:0)

从字面上看,数字为0.大多数小数点后至少有一位数的小数部分在转换为double时四舍五入。例如,在转换为double时,小数部分0.1四舍五入为0.1000000000000000055511151231257827021181583404541015625

问题是double是一个二进制浮点系统,并且大多数小数部分不能再精确表示,而1/3可以精确地表示为具有有限有效位数的小数部分。

如前所述,如果十进制分数的确切表示很重要,请使用BigDecimal

对于正常数字,原始double具有53个有效位,大约15.9个十进制数字。如果非常非常接近就足够了,你可以使用double。