php – MySQL圆怪异常的bug
我面临着一个非常奇怪的错误?现在在
mysql php上.
>“field”是11.5 MySQL查询: select round(field * " . $phpvar . ",2) as a1,round(field * 1.15,2) as a2,round(11.5 * " . $phpvar . ",2) as a3,round(11.5 * 1.15,2) as a4,field * " . $phpvar . " as a5 from ... 好吧,我想要得到13.23. “field”* $phpvar = 13.225,所以使用round(13.225,2)我应该得到13.23,对吗?好吧,是的,不. 查询结果: > a1 [round(field *“.$phpvar.”,2)] => 13.22 我错过了什么?怎么可能,当谈到使用“领域”时,我的结果是假轮? 问题是如何存储DOUBLE和FLOAT值.有可能(并且可能)将像11.5或22.475这样的值存储在近似值中,如11.499999999999~或22.475000000000000001,因此某些计算或舍入可能导致不正确的结果. 将浮点值存储到DECIMAL coulmn类型中总是更好,其中值与所有十进制数字完全存储并且不是近似值. (编辑:岳阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |