两个浮点数的乘法得到的值类似于低于130.82(浮点数)X62.0(浮点数)= 8110.8403 (浮点数),而不是8110.84。
同样,500001.0 (浮点数)X 47.0 (浮点数)= 2.3500048E7 (双精度)而不是23500047
发布于 2015-10-19 21:54:56
如果它与货币计算有关,那么您可以尝试使用BigDecimal、int或long。
浮点数和双精度数都不能用于精确计算。这两种数据类型都遵循(IEEE 754)标准。
发布于 2015-10-19 21:57:28
所有计算值的长度都是8个唯一的数字,后面跟着一个指数值,这应该不难搞清楚。)
为了确保您的值与默认长度不同,您必须自己设置值的最大值或最大值,或者在php示例中使用round($value,$precision (小数点后面的长度))
当然,在其他情况下,值将保留默认长度。
https://stackoverflow.com/questions/33216218
复制相似问题