最佳答案
我正在为 Symfony2应用程序创建一个十进制字段来保存 Doctrine2中的一个财务数字。
目前的情况是这样的:
/**
* @ORM\Column(type="decimal")
*/
protected $rate;
当我输入一个值并将该值保存到数据库时,它被四舍五入为一个整数。我猜我需要设置这个领域的精度和比例类型,但我需要有人来解释他们到底是做什么的?
Doctrine2文档表示:
Precision: 十进制(精确数字)列的精度(仅适用于十进制列)
Scale: 十进制(精确数字)列的刻度(仅适用于十进制列)
但这并不能说明什么。
我猜精确度是小数点后的位数,所以我假设应该是2,但是比例是什么呢?规模是重要的数字吗?
我的领域声明应该是这样吗? :-
/**
* @ORM\Column(type="decimal", precision=2, scale=4)
*/
protected $rate;