您好,
我想知道十进制后允许多少位数 指向java中的原始double数据类型,而不实际获取 四舍五入。
答案 0 :(得分:0)
这取决于数量;阅读floating point representations了解更多信息。
使用BigDecimal类进行固定比例运算。
答案 1 :(得分:0)
从字面上看,数字为0.大多数小数点后至少有一位数的小数部分在转换为double时四舍五入。例如,在转换为double时,小数部分0.1
四舍五入为0.1000000000000000055511151231257827021181583404541015625
。
问题是double是一个二进制浮点系统,并且大多数小数部分不能再精确表示,而1/3可以精确地表示为具有有限有效位数的小数部分。
如前所述,如果十进制分数的确切表示很重要,请使用BigDecimal
。
对于正常数字,原始double具有53个有效位,大约15.9个十进制数字。如果非常非常接近就足够了,你可以使用double。