小数点四舍五入错误计算
decimal round wrong calculation
我有以下示例数字,这些数字以十进制 (10,2) 格式存储在 mysql 数据库中
1499.3927125506 - 1499.39 -> this is how it saved into the database
384.41295546559 - 384.41
278.74493927126 - 278.74
537.44939271255 - 537.45
存入数据库前实际总数为1700,存入数据库后为1699.99
如何使总计 1700 不是 1699.99?
如果您想避免舍入错误,您需要更改 MySQL datatype 以匹配数据的精度。在您提供的数据中,您将需要 14 的精度(总位数)和 10 的比例(小数点后的位数)这将是 DECIMAL(14,10)
以完美地求和到 1700。
对于这样的数字,您应该使用 DOUBLE
,而不是 DECIMAL(.., ..)
。
(不要使用DOUBLE(.., ..)
;那只会增加你的问题。)
我有以下示例数字,这些数字以十进制 (10,2) 格式存储在 mysql 数据库中
1499.3927125506 - 1499.39 -> this is how it saved into the database
384.41295546559 - 384.41
278.74493927126 - 278.74
537.44939271255 - 537.45
存入数据库前实际总数为1700,存入数据库后为1699.99
如何使总计 1700 不是 1699.99?
如果您想避免舍入错误,您需要更改 MySQL datatype 以匹配数据的精度。在您提供的数据中,您将需要 14 的精度(总位数)和 10 的比例(小数点后的位数)这将是 DECIMAL(14,10)
以完美地求和到 1700。
对于这样的数字,您应该使用 DOUBLE
,而不是 DECIMAL(.., ..)
。
(不要使用DOUBLE(.., ..)
;那只会增加你的问题。)