- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尝试格式化货币时,我似乎得到了非常不一致的结果。在 PHP 中,我使用 https://www.php.net/manual/en/class.numberformatter.php .我有以下演示代码:
$number = 5125.99;
echo getInternationallyFormattedCurrency($number, 'tl-PH', 'PHP');
echo '<br/>';
echo getInternationallyFormattedCurrency($number, 'fil-PH', 'PHP');
echo '<br/>';
echo getInternationallyFormattedCurrency($number, 'en-US', 'PHP');
echo '<br/>';
echo '<br/>';
echo getInternationallyFormattedCurrency($number, 'tl_PH', 'USD');
echo '<br/>';
echo getInternationallyFormattedCurrency($number, 'fil_PH', 'USD');
echo '<br/>';
echo getInternationallyFormattedCurrency($number, 'en_US', 'USD');
echo '<br/>';
₱5,125.99
₱5,125.99
PHP 5,125.99
$5,125.99
$5,125.99
$5,125.99
₱ 5125.99
₱ 5125.99
₱5,125.99
$ 5125.99
$ 5125.99
$5,125.99
var number = 5125.99;
console.log(new Intl.NumberFormat('tl-PH', { style: 'currency', currency: 'PHP' }).format(number));
console.log(new Intl.NumberFormat('fil-PH', { style: 'currency', currency: 'PHP' }).format(number));
console.log(new Intl.NumberFormat('en-US', { style: 'currency', currency: 'PHP' }).format(number));
console.log(new Intl.NumberFormat('tl-PH', { style: 'currency', currency: 'USD' }).format(number));
console.log(new Intl.NumberFormat('fil-PH', { style: 'currency', currency: 'USD' }).format(number));
console.log(new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(number));
> "PHP 5,125.99"
> "₱5,125.99"
> "PHP 5,125.99"
> "$5,125.99"
> "$5,125.99"
> "$5,125.99"
最佳答案
我尝试了这种方法:
<?php
function process($locale, $value, $currency){
$fmt = numfmt_create($locale, NumberFormatter::CURRENCY );
echo "Locale: $locale, Currency: $currency, Result: " . $fmt->formatCurrency($value, $currency) . "\n";
}
$locales = ["tl_PH","fil_PH", "en_US"];
$currencies = ["USD", "PHP"];
$value = 5125.99;
foreach ($locales as $locale){
foreach ($currencies as $currency){
process($locale, $value, $currency);
}
}
Locale: tl_PH, Currency: USD, Result: $5,125.99
Locale: tl_PH, Currency: PHP, Result: ₱5,125.99
Locale: fil_PH, Currency: USD, Result: $5,125.99
Locale: fil_PH, Currency: PHP, Result: ₱5,125.99
Locale: en_US, Currency: USD, Result: $5,125.99
Locale: en_US, Currency: PHP, Result: PHP 5,125.99
tl-PH
和
tl_PH
不一样。使用
tl_PH
和
fil_PH
和
en_US
始终如一。
关于javascript - PHP 中的 NumberFormatter 与 JS 中的 NumberFormat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59242134/
我配置了一个基本的 NumberFormatter: let numberFormatter = NumberFormatter() numberFormatter.numberStyle = .sp
我没有找到任何java问题可以帮助我解决我的问题,所以我来了。 我目前正在尝试使用带有 JFormattedTextField 的 NumberFormatter 在用户输入价格时在 GUI 中格式化
这是我的代码: extension NSDecimalNumber { func getFormattedDecimalString() -> String { let numberForma
我在 Swift 的 NumberFormatter 中发现了一个奇怪的行为。 func testNumberFormat() { let numberFormat = { (number:
在进行货币格式设置时,我在尝试设置智利比索格式时发现了一个问题。 按照此代码: let priceFormatter = NumberFormatter() priceFormatter.locale
我在 Swift 中编写了一个函数(字符串扩展)来获取任何货币字符串,例如“$500.00”或“250,75 €”,甚至“500”,然后从中返回一个 nsdecimalnumber。 不幸的是,当我传
在阅读 The Big Nerd Ranch Guide 这本书时,我发现其中一章中的一段话要求您创建 NumberFormatter 的实例。一切都按预期工作,但我注意到格式化程序是使用 closu
我正在解码我想要格式化并作为 Double 返回的小数的字符串版本: let str = "0.945404" let numberFormatter = NumberFormatter() numb
我尝试使用 intl 包中的 NumberFormatter 类将整数拼写成斯洛文尼亚语单词(用于邮政申报),但结果完全错误且毫无意义。 $fmt = new NumberFormatter('sl'
以下代码的输出是:ARS 59.00。为什么没有打印符号? let formatter = NumberFormatter() formatter.currencyCode = "ARS" forma
当尝试在我的 PHP 8.1 alpine docker 容器中格式化货币时,我总是获得默认语言环境 (en_US)。 $ docker run -it --rm php:8.1-fpm-alpine
试图从使用 PHP NumberFormatter 格式化的货币中删除最后一个 .00,但似乎不可能。我可以看到这个选项,但它似乎不影响货币:DECIMAL_ALWAYS_SHOWN $nf = ne
我正在使用 NumberFormatter 来格式化数字,我已经包含了一个 js 文件并编写了一个简单的代码,但它不起作用。我正在关注此链接http://code.google.com/p/jquer
下面是我用来格式化数字并将其重新分配回文本字段的代码。在删除文本时,我遇到一些问题,完整的文本被删除,而不是逐字符删除,而且我无法重新输入文本。请指导我解决这个问题。 let currencyForm
我为我的 amcharts serial-graph 做了以下设置。 var data = [{ "name": "Test Name 1", "count": 31, "am
使用 NumberFormatter 比简单转换有什么优势吗?例如,下面的示例 1 和 2 似乎都在做同样的工作,但强制转换似乎更容易阅读,那么为什么我发现的代码示例中经常使用 NumberForma
像这样制作我自己的格式化程序: enum Formatters { enum Number { static let moneyFormatter: NumberFormatter = {
我想按照以下规则格式化和显示 Double: If there are more than 2 fractional digits, display it as 6 significant figur
我正在使用 NumberFormatter.Style.decimal 我需要 20000.23 应该是 20,000.23 因为我创建了一个扩展 var NumerWithDecimalPoint
是否可以使用 PHP NumberFormatter类根据使用 setPattern 的数值以单数或复数形式显示单词方法? 此方法使用 ICU DecimalFormat图书馆,但我不熟悉。 当值大于
我是一名优秀的程序员,十分优秀!