1
我使用的MySQL服务器是5.5.41。我也想说明我没有设计这个数据库。MySQL TRUNCATE的准确性是由一个
我正在运行的问题是使用MySQL的TRUCATE函数时,我似乎得到了一个错误。因为它不准确。请参阅所附的屏幕截图,了解我的意思。
如果更改表结构的选择是有限的,是有没有解决办法修复这个错误,并返回正确的号码?
我使用的MySQL服务器是5.5.41。我也想说明我没有设计这个数据库。MySQL TRUNCATE的准确性是由一个
我正在运行的问题是使用MySQL的TRUCATE函数时,我似乎得到了一个错误。因为它不准确。请参阅所附的屏幕截图,了解我的意思。
如果更改表结构的选择是有限的,是有没有解决办法修复这个错误,并返回正确的号码?
浮点数不准确。 70.85
的实际值可能类似70.84999999
,但它显示的是四舍五入到精确到小数点后两位。 TRUNCATE
取实际值,只是丢弃超出要求的所有小数位,所以它总是向下舍入,而不是最接近的值,因此它变为70.84
。
如果您不想丢失像这样的准确性,请使用DECIMAL
数据类型而不是FLOAT
。您也可以使用ROUND(reserve_amount, 2)
而不是TRUNCATE(reserve_amount, 2)
。
请尝试使用图像来表示纯文本数据,而不是将其粘贴为纯文本格式。图像难以处理,不能复制粘贴到答案中,并且对屏幕阅读器的人员不利。 – tadman
@tadman你的意思是*不要 – Martin
对,不要。那个。 – tadman