我在mysql数据库中存储了以下值 23456789123,45678 当我用魔法变量得到这个值时 23456789123,457 作为一种价值观。我试过了 $cast 模型中的变量:
23456789123,45678
23456789123,457
$cast
protected $casts = [ 'previous_value' => 'double(16,5)', ]
但这没有帮助。非常感谢您在这方面的帮助。
n3h0vuf21#
问题不在于laravel,实际上是php解决了这个问题。在php文档中,您可以看到默认的精度是14,目前您已经超过了14。
Name | Default | Changeable | precision | "14" | PHP_INI_ALL |
以浮点数显示的有效位数-1表示将使用增强的算法对这些数字进行舍入。尝试以下操作,看看是否解决了问题:
ini_set('precision', 17); ExampleModel::find($id)->previous_value;
你可以看到其他人在这里回答了类似的问题。
1条答案
按热度按时间n3h0vuf21#
问题不在于laravel,实际上是php解决了这个问题。在php文档中,您可以看到默认的精度是14,目前您已经超过了14。
以浮点数显示的有效位数-1表示将使用增强的算法对这些数字进行舍入。
尝试以下操作,看看是否解决了问题:
你可以看到其他人在这里回答了类似的问题。