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