如何防止PHP做自动轮大浮动?

时间:2017-11-21 01:58:05

标签: php

我在数据库上有大浮动:20202166.16

当我打电话给PHP:

$num = odbc_result($sqlQuery,0);
$number = number_format($num,2,',','.');

我得到20.202.170,00,但我想要20.202.166,16

知道如何防止自动舍入?

1 个答案:

答案 0 :(得分:1)

根据评论中的答案,听起来不像PHP。您不会说出您正在使用的数据库,但猜测它可能是MySQL吗?

  

浮点值问题

     

浮点数有时会引起混淆,因为它们是   近似值并未存储为精确值。浮点值为   用SQL语句编写的值可能与值不同   内部代表。尝试将浮点值视为   确切的比较可能会导致问题。他们也受制于   平台或实现依赖项。 FLOAT和DOUBLE数据   类型受这些问题的影响。对于DECIMAL列,MySQL执行   精度为65位十进制数的运算,应解决   最常见的不准确问题。

来源:https://dev.mysql.com/doc/refman/5.7/en/problems-with-float.html

尝试将列类型更改为DECIMAL,看看是否能解决问题。