【问题标题】:Keep precision while converting string to decimal将字符串转换为十进制时保持精度
【发布时间】:2012-06-18 18:12:49
【问题描述】:

我有一个数据库,其中包含字符串类型的列,其中包含十进制值。这些小数是经度和纬度,因此这些数字在点后可以长 8 个单位。

我想将类型从字符串转换为十进制。问题是,当我在schema.yml 中分配十进制类型时,它会将值四舍五入到点后的 2 个单位,如果我的比例参数为 12 且大小为 16(很大),它会将其四舍五入为 2点后的单位,并在末尾添加 10 个零。

lat: { type: string(255), notnull: false }

lat: { type: decimal, scale: 12, size:16, notnull: false }

有没有办法在不丢失精度的情况下将这些列迁移到十进制类型?

【问题讨论】:

  • 您使用的是哪个 SGBD? mysql?

标签: doctrine symfony-1.4 database-migration schema.yml


【解决方案1】:

你真的需要小数吗?

因为对于old ticket on the Doctrine bug tracker,在这种情况下使用float 而不是decimal 似乎更好。

试一试。

【讨论】:

    猜你喜欢
    • 2015-06-14
    • 2014-05-05
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-13
    • 2019-08-31
    • 1970-01-01
    • 2012-09-25
    相关资源
    最近更新 更多