加入收藏 | 设为首页 | 会员中心 | 我要投稿 岳阳站长网 (https://www.0730zz.com/)- 物联平台、混合云存储、数据仓库、智能推荐、智能数字人!
当前位置: 首页 > 编程开发 > PHP > 正文

php – MySQL圆怪异常的bug

发布时间:2020-08-16 06:43:27 所属栏目:PHP 来源:互联网
导读:我面临着一个非常奇怪的错误?现在在 mysql php上. 是一个简单的选择,在下面的例子中,我使用多个字段来尝试解释我的问题: “field”是11.5 $phpvar是1.15 MySQL查询: select round(field * . $phpvar . ,2) as a1, round(field * 1.15 ,2) as a2, rou

我面临着一个非常奇怪的错误?现在在 mysql php上.
是一个简单的选择,在下面的例子中,我使用多个字段来尝试解释我的问题:

>“field”是11.5
> $phpvar是1.15

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
> a2 [round(field * 1.15,2)] => 13.22
> a3 [round(11.5 *“.$phpvar.”,2)] => 13.23
> a4 [round(11.5 * 1.15,2)] => 13.23
> a5 [field *“.$phpvar.”] => 13.225(无圆)

我错过了什么?怎么可能,当谈到使用“领域”时,我的结果是假轮?

问题是如何存储DOUBLE和FLOAT值.

有可能(并且可能)将像11.5或22.475这样的值存储在近似值中,如11.499999999999~或22.475000000000000001,因此某些计算或舍入可能导致不正确的结果.

将浮点值存储到DECIMAL coulmn类型中总是更好,其中值与所有十进制数字完全存储并且不是近似值.

(编辑:岳阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读