2016-05-09 12 views
1

Ich versuche, ein Formular zu zeigen, das ein Prozent-Typ-Feld hat, das Werte wie zB 3.03% zeigen kann. Aber es scheint sich auf ganze Zahlen zu runden, z. B. 3% in diesem Fall.Zeige Dezimal Prozent Typ Feld

Entity Feld:

/** 
    * @var float 
    * @ORM\Column(type="float") 
    */ 
    private $penaltyRate; 

Form Builder:

... 
->add('penaltyRate', PercentType::class, ['label' => 'create.form.penalty']) 

Ist dies eine Einschränkung der percentType und sollte ich nur eine andere Art verwenden und manuell die '%' Anzeige hinzufügen?

EDIT

Für zukünftige googler, während @Emanuel Oster für gerade richtig war auf der offiziellen Symfony Dokumentation zeigt, wie es für mich das erste Mal nicht offensichtlich war ich es hier zu lesen ist ein Beispiel, wenn Sie zwei Dezimalstellen zulassen möchten:

Form Builder:

... 
    ->add('penaltyRate', PercentType::class, [ 
     'label' => 'create.form.penalty', 
     'scale' => 2 
    ]) 

Antwort

2

Vom symfony documentation:

Skala

Typ: integer default: 0

Standardmäßig werden die eingegebenen Zahlen gerundet. Verwenden Sie diese Option, um mehr Dezimalstellen zu ermöglichen.

-1

Probieren Sie diese

->add('penaltyRate', PercentType::class,[ 
       'label_format' => 'penaltyRate', 
       'scale'=>1, // or 'scale'=>2 
       'type'=>'integer' 

      ])