作为laravel migration,我将一个字段设为double()
,而不指定小数位数和总数。在mysql数据库中存储为double
,而不是数字。
所以我尝试在laravel和mysql文档中搜索但没有希望,问题是没有数字位数的双字段的默认rappresentation是什么? 好的是用了8个字节,但是怎么样? 感谢
答案 0 :(得分:1)
请勿使用FLOAT(m,n)
或DOUBLE(m,n)
;仅使用FLOAT
或DOUBLE
。 (m,n)
导致双舍入和/或截断。 FLOAT
和DOUBLE
的意图代表具有广泛精确度和范围的“科学”(而不是“金钱”)值。
FLOAT
包含大约7个重要位数字; DOUBLE
,16。小数点几乎可以在任何地方。
如果您想要“定点”数字,请使用DECIMAL(m,n)
。例如,DECIMAL(8,2)
可以代表高达一百万美元或欧元,低至分数。