【发布时间】:2018-02-23 10:39:49
【问题描述】:
作为 laravel 迁移,我将一个字段设置为 double() 而不指定小数位数和总数。在 mysql 数据库中存储为double,同样没有位数。
所以我尝试在 laravel 和 mysql 文档中搜索,但没有希望,问题是没有位数的双字段的默认表示是什么? 好的,使用了 8 个字节,但是如何呢? 谢谢
【问题讨论】:
标签: mysql laravel double sqldatatypes
作为 laravel 迁移,我将一个字段设置为 double() 而不指定小数位数和总数。在 mysql 数据库中存储为double,同样没有位数。
所以我尝试在 laravel 和 mysql 文档中搜索,但没有希望,问题是没有位数的双字段的默认表示是什么? 好的,使用了 8 个字节,但是如何呢? 谢谢
【问题讨论】:
标签: mysql laravel double sqldatatypes
不要使用FLOAT(m,n)或DOUBLE(m,n);仅使用 FLOAT 或 DOUBLE。 (m,n) 导致双舍入和/或截断。 FLOAT 和 DOUBLE 的意图是代表具有广泛精度和范围的“科学”(而不是“金钱”)值。
FLOAT 包含大约 7 个有效位数字; DOUBLE, 16. 小数点几乎可以在任何位置。
如果您想要“定点”数字,请使用DECIMAL(m,n)。例如,DECIMAL(8,2) 可以代表高达一百万美元或欧元,低至美分。
【讨论】: