У меня есть десятичное число с 4 цифрами и шкалой 4. (Макс. 0,9999 и мин. 0,0000)
Я использую Twig и его intl расширение . Когда я хочу отобразить процентное число, десятичные числа округляются.
{% set decimal = 0.0850 %}
{{ decimal|localizednumber('decimal','double','fr-fr') }} //WILL OUTPUT "0,085"
{{ decimal|localizednumber('decimal','double','zh-cn') }} //WILL OUTPUT "0.085"
{{ decimal|localizednumber('decimal','double','ar-bh') }} //WILL OUTPUT "٠٫٠٨٥"
{{ decimal|localizednumber('percent','double','fr-fr') }} //WILL OUTPUT "8 %"
{{ decimal|localizednumber('percent','double','zh-cn') }} //WILL OUTPUT "8%"
{{ decimal|localizednumber('percent','double','ar-bh') }} //WILL OUTPUT "% ٨"
Я хотел бы видеть 8,5 %
на французском, 8.5%
на китайском и % ٨٫٥
на арабском.
Я пытался добавить параметр double
, но он не меняет точность.
Поскольку я использую Symfony, я пытался объявить 2 десятичных знака в числовом формате:
<!-- lang-yml -->
#config/twig.yaml
twig:
#...
number_format:
decimals: 2
Кажется, что расширение Intl переопределяет эти настройки.
Я знаю, что могу сделать что-то вроде
{{ (decimal*100)|localizednumber('decimal','double')}}%
Но символ %
может быть до результата на некоторых языках, вФранцузский, перед символом %
стоит неразрывный пробел.
Вы видите мою ошибку? У вас есть решение?