学说2 - 浮点数上的2位小数?

Too*_*ool 24 mysql symfony doctrine-orm

注解:

/**
 * @ORM\Column(type="float", scale="2")
 */
protected $curr_price;
Run Code Online (Sandbox Code Playgroud)

我正在使用它与Symfony 2.

并且此字段在MySQL数据库中变为双精度而不是具有2点精度的浮点数.

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

gil*_*den 33

两者precisionscale属性仅适用于decimal映射类型(链接).我建议你使用这种decimal类型.

至于为什么它创造了一个双场而不是漂浮,我不完全确定.它可能与兼容所有支持的数据库有关.我没有看到double映射类型,所以我假设它们都使用相同的类型.


小智 10

在*.yml中

curr_price:
    type: decimal
    precision: 10
    scale: 2
Run Code Online (Sandbox Code Playgroud)


Ser*_*huk 8

/**
 * @ORM\Column(type="float", scale=2)
 */
protected $curr_price;
Run Code Online (Sandbox Code Playgroud)

scale应该是一个整数,并且您使用的是字符串

  • 根据[文档](http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/basic-mapping.html#property-mapping):*scale:(可选,默认0)小数(精确数字)列的小数位数(**仅适用于小数列**),表示小数点右侧的位数,且不得大于精度。* (2认同)