Woj*_*ski 6 decimal symfony doctrine-orm
如何在symfony2实体中设置小数精度和小数位?我在我的实体中使用十进制数据类型在经度字段中定义了纬度,如下所示:
/**
* @ORM\Column(type="decimal", precision="10", scale="6", nullable=true)
*/
protected $latitude;
Run Code Online (Sandbox Code Playgroud)
当持久化新对象时,它正确地保存十进制(我可以在phpMyAdmin中看到52.406374).但是,当显示编辑表单时,数字将四舍五入为52,406,更新后将其存储在mysql中,如52.406000.我的Doctrine配置可能有问题,但我不知道是什么.
为什么纬度和经度会变圆?
找到了解决方案:
Symfony的Form组件将十进制表单字段呈现为type ="text".使用时:
->add('latitude', 'number', array(
'precision' => 6,
))
Run Code Online (Sandbox Code Playgroud)
它渲染得很好.评论中的帖子没有描述我的问题.我猜他们已经修复了'转换为浮点'精度的错误.当我在树枝模板中显示纬度时,它显示正确的(非圆形)值.
归档时间: |
|
查看次数: |
9036 次 |
最近记录: |