我想更改Symfony 2項目中的默認數字格式。Symfony2默認數字格式
而不是像10.55
這樣的數字打印我想顯示小數點分隔符爲逗號10,55
。
不是在樹枝模板中,而是在所有的形式。如果我想這是一個小枝就像使用number_format function一樣容易。
我已經在config.yml文件中設置了我的語言環境。
我想更改Symfony 2項目中的默認數字格式。Symfony2默認數字格式
而不是像10.55
這樣的數字打印我想顯示小數點分隔符爲逗號10,55
。
不是在樹枝模板中,而是在所有的形式。如果我想這是一個小枝就像使用number_format function一樣容易。
我已經在config.yml文件中設置了我的語言環境。
您可能在表單類型中使用了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
字段類型時)
我還使用了「數量」字段類型,而一個沒有按」 t需要表單類型中的分組選項,從我可以測試的內容中選擇。它足以在樹枝模板中呈現它:請參閱下面的示例,其中{{ discount.discountRate }}
是一個浮點型。如果將其替換爲'75 .3869',則會發現'75,39'
{# number with 2 decimal places, decimal comma, no thousands separator #}
{{ discount.discountRate|number_format(2, ',', '') }}%
沒有。正如你可以在你自己的答案中看到的那樣,分組選項會添加一個逗號來分組高於1000的數字。我需要的是替換分隔小數部分的字符。謝謝你:) – Bernat 2013-04-24 16:33:00
嗯,你是對的:)你使用的是什麼語言環境? 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
在config.yml中,default_locale,我使用「es」。你在最後的評論中所說的正是我所需要的。我怎樣才能採用法文格式(我需要法文格式;)) – Bernat 2013-04-24 16:50:15