【发布时间】:2016-08-05 06:18:22
【问题描述】:
我一直在使用 Laravel 5.0 构建一个应用程序,并且在本地(宅基地内)一切正常。
但是,当我部署项目时,一些问题显而易见。其中之一涉及浮点数。
Homestead 是 PHP 5.6,而我的服务器是 5.5.9。当我在本地系统上查看价格时,它正确显示为 9.99。但是,在我的服务器上它不能正确显示,而是显示为 9.99000。
我的架构将价格字段设置为 float(12,5),因此额外的右填充也是必需的。
我的问题只是 PHP 5.5 和 5.6(甚至是 PDO/Eloquent)之间有什么区别会导致浮点问题?
【问题讨论】:
-
负责输出这些值的代码是什么?
-
这是标准的雄辩。如果我
{{ $product->price}}php 5.5 将显示9.99000而 php 5.6 将显示9.99。 -
RDBMS 版本从开发到生产是否也不同?
-
@Bogdan 两台服务器都使用Mysql 5.7.9
-
逻辑起点是 PDO,因为它是负责处理特定信息的层(因为 Eloquent 与数据库无关,并且 MySQL 版本相同,从逻辑角度来看,问题应该出在PHP端)。明天我会看一下,看看我是否可以重现它(除非在那之前有人解释)。
标签: php pdo floating-point