我正在为我的Symfony2应用程序在Doctrine2中创建一个十进制字段,以容纳财务数据。
目前,它看起来像这样:
/**
* @ORM\Column(type="decimal")
*/
protected $rate;
当我输入一个值并且该值被持久化到数据库时,它被舍入为整数。我猜想我需要为该字段设置精度和比例类型,但我需要有人准确地解释一下它们的作用是什么?
precision:十进制(精确数字)列的精度(仅适用于十进制列)
scale:十进制(精确数字)列的比例(仅适用于十进制列)
但这并没有告诉我太多。
我猜想精度是要四舍五入到的小数位数,所以我认为应该是2,但什么是比例?比例是有效数字吗?
我的字段声明应该是这个吗? :-
/**
* @ORM\Column(type="decimal", precision=2, scale=4)
*/
protected $rate;