这个类看起来很麻烦:其实不然,格式化和解析都是高度可定制的,但你可能真正需要的是非常简单的功能
如果你想本地化数字,可以使用
<?php
$a = new \NumberFormatter("it-IT", \NumberFormatter::DECIMAL);
echo $a->format(12345.12345) . "<br>"; $a->setAttribute(\NumberFormatter::MIN_FRACTION_DIGITS, 0);
$a->setAttribute(\NumberFormatter::MAX_FRACTION_DIGITS, 100); echo $a->format(12345.12345) . "<br>"; ?>
如果你想打印货币,可以使用
<?php
$a = new \NumberFormatter("it-IT", \NumberFormatter::CURRENCY);
echo $a->format(12345.12345) . "<br>"; ?>
如果你有以(例如)美元存储的货币数据,并且你想使用 it-IT 表示法打印它们,你需要使用
<?php
$a = new \NumberFormatter("it-IT", \NumberFormatter::CURRENCY);
echo $a->formatCurrency(12345, "USD") . "<br>"; ?>
另一个关于货币的有用示例(如何从区域设置字符串中获取货币名称)
<?php
$frontEndFormatter = new \NumberFormatter("it-IT", \NumberFormatter::CURRENCY);
$adminFormatter = new \NumberFormatter("en-US", \NumberFormatter::CURRENCY);
$symbol = $adminFormatter->getSymbol(\NumberFormatter::INTL_CURRENCY_SYMBOL); echo $frontEndFormatter->formatCurrency(12345.12345, $symbol) . "<br>";
?>