symfony2 使用percent字段

项目中有一个数据字段是用百分比的,比如银行利率,活期 0.35%。数据库字段为 current_rate decimal(5,5)。

使用Symfony的CRUD生成的输入框默认是文本(text)类型的,如下:

public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('currentRate');
    }


需要改一下,在 src/Acme/UserBundle/Form/YourFormType.php中改成这样:

public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('currentRate', 'percent', array('precision' => 3));
    }

对上面代码的说明:percent就是我们需要使用的Form类型,该类型会自动在文本框后面加上一个百分号,同时数据显示的值已经乘以100,如下:

这样在插入或更新到数据库时,实际的数据是 0.00330

一个需要注意的地方是那个 “precision” 属性,表示精度,默认是0。这样的花,即使录入的数据是对的(0.00330),但是更新时会在文本框中显示成四舍五入后的 integer 类型的值(0)。手动设置成精确到小数后3位就没问题了。

转载于:https://my.oschina.net/bigtree/blog/371223

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值