首页 > 解决方案 > 如何设置实体、表格和 TWIG 关于带小数的数字

问题描述

我正在使用 Symfony 4 并设置了一个具有如下字段的实体:

/**
* @ORM\Column(type="decimal", precision=10, scale=2))
*/
private $rueckmenge;

在我的表格中,它是这样定义的:

->add('rueckmenge', NumberType::class,
                array('label' => $this->rueckmenge_label,
                      'disabled' => false,
                      'html5' => true,
                      'scale' => 2,
                      'rounding_mode' => NumberToLocalizedStringTransformer::ROUND_HALF_EVEN,
                      'attr' => array('class' => 'form-control',
                                      'placeholder' => $this->rueckmenge_label,
                                      'title' => $this->rueckmenge_title,
                                      'min'  => 0,
                                      'max'  => 9999.99,
                                      'step' => 0.01,),
                ))

如果我在我的表单中输入一个像 7.5 或 7,5 这样的值并调试控制器 mathod $form->getData() 它总是返回一个整数值“7”:

在此处输入图像描述

这存储在数据库中。

标签: formssymfonytwig

解决方案


发现问题:当我使用 make:entity 创建实体时,symfony 创建了 getter 和 setter 方法,这里类型设置为 int。我将其更改为浮动,现在它可以工作了。


推荐阅读