我设置了
[HttpPost]
public IActionResult Index(string uid, string token, List<string> contact)
{
foreach (string item in contact) {
Common.TestEmail(uid, token);
}
return View();
}
和
I18n::setLocale('en_EN');
取决于语言切换。
我发现:
I18n::setLocale('de_DE');
以德语显示
6.900.000€
和英语一样
€6,900,000.00
为什么不尊重精度? 我有什么可以做的吗?
答案 0 :(得分:0)
首先,我认为en_EN
不是有效/受支持的语言环境,您宁愿使用en_US
,en_GB
,en_CA
等。无效/不受支持的语言环境可能会使格式化程序崩溃。
话虽如此,这仍然看起来像是一个可能的错误。 CakePHP在内部使用国际NumberFormatter
,并且,如果您想格式化不是给定语言环境默认货币的货币(例如,EUR
语言环境为en_US
),那货币必须在格式化程序上作为属性应用,在应用精度之前,CakePHP只能将货币传递给NumberFormatter::formatCurrency()
方法。
您可能想将其报告为问题over at GitHub。
另请参见 http://php.net/manual/en/numberformatter.formatcurrency.php#114376