Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP从次要单位格式化多种货币_Php_Number Formatting_Numberformatter - Fatal编程技术网

PHP从次要单位格式化多种货币

PHP从次要单位格式化多种货币,php,number-formatting,numberformatter,Php,Number Formatting,Numberformatter,我目前正在数据库中以较小的单位存储商品价格,以便轻松处理多种货币,例如15.00美元的1500美元 我尝试使用phpnumberFormatter,但它似乎不支持次要单位,而只支持主要单位,当我将1500解析为formatCurrency时,我得到的是1500美元,而不是15.00美元 它是否超出了numberFormatter的范围,需要其他库来处理 $yourvalue = 1500; $yourcurrency = $yourvalue / $currencyUnitValue; echo

我目前正在数据库中以较小的单位存储商品价格,以便轻松处理多种货币,例如15.00美元的1500美元

我尝试使用php
numberFormatter
,但它似乎不支持次要单位,而只支持主要单位,当我将1500解析为
formatCurrency
时,我得到的是1500美元,而不是15.00美元

它是否超出了
numberFormatter
的范围,需要其他库来处理

$yourvalue = 1500;
$yourcurrency = $yourvalue / $currencyUnitValue;
echo $currencySymbol' '.number_format($yourcurrency, 2); 
例如:

这是你问题的快速解决方案。我想还有更明智的答案

例如:


这是你问题的快速解决方案。我想还有更明智的答案。

你需要知道什么时候除以100,但不是所有的货币都这样做。比如日元,正如@IdontDownVote所说<代码>数字\格式仅添加逗号等。您需要将其组织为有效数字,例如,除以100进行直接的美分到美元的转换,或者除以
因子
转换成澳元或英镑等。然后你可以通过
数字格式
进行转换,看起来很漂亮。目前在数据库中,我有以美分为单位的货币和价格。1500澳元。我支持广泛的货币范围,所以我正在寻找一些可以解析美分和货币价格并输出正确格式的东西。我原以为
numberFormatter
能够处理较小的单位并自动将其转换为格式,但我刚刚发现我错了。我找到了其他回购协议,如moneyphp和money,但当我只想格式化数字时,它们似乎功能太多。你需要知道什么时候除以100,但不是所有货币都这样做。比如日元,正如@IdontDownVote所说<代码>数字\格式仅添加逗号等。您需要将其组织为有效数字,例如,除以100进行直接的美分到美元的转换,或者除以
因子
转换成澳元或英镑等。然后你可以通过
数字格式
进行转换,看起来很漂亮。目前在数据库中,我有以美分为单位的货币和价格。1500澳元。我支持广泛的货币范围,所以我正在寻找一些可以解析美分和货币价格并输出正确格式的东西。我原以为
numberFormatter
能够处理较小的单位并自动将其转换为格式,但我刚刚发现我错了。我找到了其他回购协议,如moneyphp和money,但当我只想格式化数字时,它们似乎功能太多。除此之外,并非所有货币都使用“$”或十进制值。除此之外,并非所有货币都使用“$”或十进制值。
$yourvalue = 1500;
$currencyUnitValue = 100;
$currencysymbol = '$'; 
$yourcurrency = $yourvalue / $currencyUnitValue;
echo $currencySymbol' '.number_format($yourcurrency, 2); // returns $ 15.00