Các manual trên currencyCode
:
3 chữ ISO 4217 Mã tiền tệ cho thấy tiền tệ mặc định để sử dụng
Hãy thử thiết lập currencyCode
để 'EUR'
(mặc dù điều đó dường như không thể là quan trọng) và đặt trình định dạng trong một mảng
[
'attribute' => 'Score',
'format' => [
'currency',
'EUR',
[
\NumberFormatter::MIN_FRACTION_DIGITS => 0,
\NumberFormatter::MAX_FRACTION_DIGITS => 0,
]
],
],
Điều này yêu cầu s phần mở rộng intl PHP được cài đặt. Trạng thái của tiện ích có thể được kiểm tra bằng cách gọi extension_loaded('intl')
. Trong trường hợp không có phần mở rộng, đặt cược tốt nhất của bạn có lẽ là viết một trình định dạng tùy chỉnh.
<?php
namespace app\components;
class Formatter extends \yii\i18n\Formatter
{
public function asRoundedCurrency($value, $currency)
{
return $this->asInteger(round($value)) . ' ' . $currency;
}
}
Sử dụng nó thay cho định dạng mặc định một sau đó gọi nó như thế này:
[
'attribute' => 'Score',
'format' => ['roundedCurrency', 'EUR'],
]
này cũng cho phép bạn tự do thiết lập các biểu tượng tiền tệ.
Không quan tâm: Bạn đã có thể giải quyết vấn đề này chưa? – tarleb