Symfony2实体将float返回为较小的float,然后返回db

时间:2016-03-03 10:37:04

标签: symfony numbers entity return-value

所以我在我的实体中得到了这个,

/**
 * @ORM\Column(type="float", nullable=true)
 * @Assert\Range(   min = "-180",
 *                  max = "180")
 *
 */
protected $longitude;

当我在public function getLongitude()

中执行此操作时
var_dump($this->longitude); exit();

打印

float 4.5003715

但在数据库中,值为

4.500371500000028

无法弄明白。有什么提示吗?

编辑:

@ORM\Column(type="float", nullable=true, precision=11, scale=8)

已更改为此,但仍会返回

float 4.5003715

1 个答案:

答案 0 :(得分:1)

float是一种具有精确丢失的类型,如果您想获得准确值,请将类型更改为decimal。类似的东西:

@Column(type="decimal", precision=18, scale=15)