4 * This file is part of the Symfony package.
6 * (c) Fabien Potencier <fabien@symfony.com>
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Symfony\Component\Form\Extension\Core\Type
;
14 use Symfony\Component\Form\AbstractType
;
15 use Symfony\Component\Form\FormBuilderInterface
;
16 use Symfony\Component\Form\Extension\Core\DataTransformer\IntegerToLocalizedStringTransformer
;
17 use Symfony\Component\OptionsResolver\OptionsResolverInterface
;
19 class IntegerType
extends AbstractType
24 public function buildForm(FormBuilderInterface
$builder, array $options)
26 $builder->addViewTransformer(
27 new IntegerToLocalizedStringTransformer(
28 $options['precision'],
30 $options['rounding_mode']
37 public function setDefaultOptions(OptionsResolverInterface
$resolver)
39 $resolver->setDefaults(array(
40 // default precision is locale specific (usually around 3)
43 // Integer cast rounds towards 0, so do the same when displaying fractions
44 'rounding_mode' => \NumberFormatter
::ROUND_DOWN
,
48 $resolver->setAllowedValues(array(
49 'rounding_mode' => array(
50 \NumberFormatter
::ROUND_FLOOR
,
51 \NumberFormatter
::ROUND_DOWN
,
52 \NumberFormatter
::ROUND_HALFDOWN
,
53 \NumberFormatter
::ROUND_HALFEVEN
,
54 \NumberFormatter
::ROUND_HALFUP
,
55 \NumberFormatter
::ROUND_UP
,
56 \NumberFormatter
::ROUND_CEILING
,
64 public function getName()