在Ubuntu上使用PHP 5.5 x64。
我正在尝试使用 mssql_query 从MSSQL数据库中获取一些数据;在提取的列中有各种各样的数据类型,看来无论我怎么尝试,bigints(通常为数字长度19)总是会转换为具有精度损失的浮点数。
我有时不是1000000000000000010,而是1000000000000000012或1000000000000000009,等等。
到目前为止,我已经尝试过:
将ini_set设置为19更改精度(它可以正常工作到16、17及以上似乎无效)
使用fetch_assoc和fetch_object
使用PDO(不是sqlsrv)
升级到PHP 7.2并使用PDO(不是sqlsrv)
可以更改PHP设置并安装软件包-不幸的是,不能更改SQL Server的数据类型。由于性能原因,在处理大数据时,我避免使用CONVERT。
如何避免最后一位数字的准确性损失?