2013-04-24 101 views
2

我想更改Symfony 2項目中的默認數字格式。Symfony2默認數字格式

而不是像10.55這樣的數字打印我想顯示小數點分隔符爲逗號10,55

不是在樹枝模板中,而是在所有的形式。如果我想這是一個小枝就像使用number_format function一樣容易。

我已經在config.yml文件中設置了我的語言環境。

回答

0

您可能在表單類型中使用了number類型字段。

所以,你可以使用grouping選項:

[...]號將用逗號或句號(取決於您 區域)進行分組:12345.123會顯示爲12,345.123。

你的代碼看起來如下:

// src/Acme/MyBundle/Form/Type/MyType.php 
namespace Acme\MyBundle\Form\Type; 

use Symfony\Component\Form\AbstractType; 
use Symfony\Component\Form\FormBuilderInterface; 

class MyType extends AbstractType 
{ 
    public function buildForm(FormBuilderInterface $builder, array $options) 
    { 
     $builder->add('mynumber', 'number', array('grouping' => true)); 
    } 

    public function getName() 
    { 
     return 'my'; 
    } 
} 

(你有相同的選項使用money字段類型時)

+0

沒有。正如你可以在你自己的答案中看到的那樣,分組選項會添加一個逗號來分組高於1000的數字。我需要的是替換分隔小數部分的字符。謝謝你:) – Bernat 2013-04-24 16:33:00

+1

嗯,你是對的:)你使用的是什麼語言環境? Symfony使用['NumberFormatter'類](http://php.net/manual/en/class.numberformatter.php),並指出:'例如,美國的12345.67號碼是「12,345.67」,「12法國345,67「,德國」12.345,67「。 ' – cheesemacfly 2013-04-24 16:44:11

+0

在config.yml中,default_locale,我使用「es」。你在最後的評論中所說的正是我所需要的。我怎樣才能採用法文格式(我需要法文格式;)) – Bernat 2013-04-24 16:50:15

-1

我還使用了「數量」字段類型,而一個沒有按」 t需要表單類型中的分組選項,從我可以測試的內容中選擇。它足以在樹枝模板中呈現它:請參閱下面的示例,其中{{ discount.discountRate }}是一個浮點型。如果將其替換爲'75 .3869',則會發現'75,39'

{# number with 2 decimal places, decimal comma, no thousands separator #} 
{{ discount.discountRate|number_format(2, ',', '') }}%