关于MySQL:原则2-2浮点数?

Doctrine 2 - 2 decimal places on a float?

注释:

1
2
3
4
/**
 * @ORM\Column(type="float", scale="2")
 */

protected $curr_price;

我和symfony 2一起使用。

这个字段在MySQL数据库中变为双精度字段,而不是2点精度的浮点字段。

我做错什么了?我尝试删除数据库,重新插入等…


precisionscale属性都只与decimal映射类型(link)一起工作。我建议你用decimal型。

至于它为什么要创建双字段而不是浮点,我不完全确定。它可能与与所有支持的数据库兼容有关。我没有看到提到double映射类型,所以我假设它们都使用相同的类型。


在*YML中

1
2
3
4
curr_price:
    type: decimal
    precision: 10
    scale: 2


1
2
3
4
/**
 * @ORM\Column(type="float", scale=2)
 */

protected $curr_price;

小数位数应为整数,并且使用的是字符串