我认为我已经看到了这个问题,但是经过2个小时的搜索后我找不到它。当我使用PDO从SQL中选择一个REAL数据类型时,数字发生了变化
我在我的数据库中的REAL数据类型,我存储的值0.00054
当我在SQL工作室选择它,我得到0.00054没有问题。
当我使用PDO在PHP中选中它,我得到0.00053999998
下面是从SQL工作室也:
select val_real, convert(decimal(38,18),val_real) from myTable
结果:0.00054, 0.000539999979082490
从PHP使用PDO结果:
5.3999998E-4, .000539999979082490
它看起来像PHP转换类型之前,我可以克等等。我正在拉我的头发。我怎样才能解决这个问题?
谢谢
0.00053999998如果你问我,似乎很接近0.00054。 SQL实际上与您的PHP结果具有相同的值,所以这都是正常的。 –
哈哈,是的,它非常接近,问题是这是一个用户输入的号码,它必须匹配他们输入的内容,而不是改变他们的号码。 –
在这种情况下,请使用字符串或小数,而不是真实的。 –