将字符串转换为十进制时保持精度

时间:2012-06-15 16:23:00

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

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

我想将类型从字符串转换为十进制。问题是,当我在schema.yml中指定十进制类型时,它会将点值舍入为2个单位,如果我的比例参数为12且大小为16(要大),则将其舍入点后2个单位,最后加10个零。

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

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

有没有办法将这些列迁移到十进制类型而不会丢失精度?

1 个答案:

答案 0 :(得分:0)

你真的需要小数吗?

因为关于old ticket on the Doctrine bug tracker,在这种情况下使用float代替decimal似乎更好。

试一试。