【问题标题】:double with no digits default format双精度无数字默认格式
【发布时间】:2018-02-23 10:39:49
【问题描述】:

作为 laravel 迁移,我将一个字段设置为 double() 而不指定小数位数和总数。在 mysql 数据库中存储为double,同样没有位数。

所以我尝试在 laravel 和 mysql 文档中搜索,但没有希望,问题是没有位数的双字段的默认表示是什么? 好的,使用了 8 个字节,但是如何呢? 谢谢

【问题讨论】:

    标签: mysql laravel double sqldatatypes


    【解决方案1】:

    不要使用FLOAT(m,n)DOUBLE(m,n);仅使用 FLOATDOUBLE(m,n) 导致双舍入和/或截断。 FLOATDOUBLE 的意图是代表具有广泛精度和范围的“科学”(而不是“金钱”)值。

    FLOAT 包含大约 7 个有效位数字; DOUBLE, 16. 小数点几乎可以在任何位置。

    如果您想要“定点”数字,请使用DECIMAL(m,n)。例如,DECIMAL(8,2) 可以代表高达一百万美元或欧元,低至美分。

    【讨论】:

      猜你喜欢
      • 2019-03-07
      • 1970-01-01
      • 1970-01-01
      • 2020-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多