我在MySQL数据库23456789123,45678
中存储了以下值,当我使用魔术变量获取此值时,我将23456789123,457
作为值。
我在模型中尝试了$cast
变量:
protected $casts = [
'previous_value' => 'double(16,5)',
]
但这没有帮助。非常感谢在这方面的任何帮助。
答案 0 :(得分:4)
问题不在于Laravel,实际上是PHP正在对此进行四舍五入。在PHP documentation中,您可以看到默认精度 14 ,您目前正在超越。
c ~ d ~ a
浮点数中显示的有效位数。 -1表示将使用用于舍入此类数字的增强算法。
尝试以下操作,看看它是否可以解决问题:
fact :: (Num a, Eq a) => a -> a
您可以看到其他人回答了类似的问题here。