有什么方法可以从 Form 构造方法或 ViewHelper 中转换文本输入如何以正确的语言环境数字格式显示货币值?
例如
- 数据库中的值为 10000.50
- 在美国或英国,被视为 10,000.50
- 在 EUR 被视为 10.000,50
我已经能够在控制器、模型和视图中进行转换,但还没有遇到如何在这里进行转换。
谢谢
阿博格罗夫
有什么方法可以从 Form 构造方法或 ViewHelper 中转换文本输入如何以正确的语言环境数字格式显示货币值?
例如
我已经能够在控制器、模型和视图中进行转换,但还没有遇到如何在这里进行转换。
谢谢
阿博格罗夫
您拥有Zend\I18n
提供格式化程序以格式化数字的组件。您既可以使用NumberFormat
一般的数字,也可以使用CurrencyFormat
特定的货币。
这些格式化程序存在于Zend\I18n\View\Helper
域中,但实际上并不依赖于视图。因此,您可以在任何您想要的地方使用它们:
use Zend\I18n\View\Helper\CurrencyFormat;
$formatter = new CurrencyFormat;
$formatter->setLocale('en-US');
$currency = $formatter(1234.56, 'EUR'); // "€1,234.56"
$currency = $formatter(1234.56, 'USD'); // "$1,234.56"
$formatter->setLocale('nl-NL');
$currency = $formatter(1234.56, 'EUR'); // "€ 1.234,56"
你必须知道两件事:
Locale::setDefault()
)。Zend\I18n\View\Helper\NumberFormat
如果您只想格式化没有任何货币代码的数字,您可以简单地使用。有关格式的更多信息,请参见手册。