PHP中从欧元货币格式到美元货币格式
Posted
技术标签:
【中文标题】PHP中从欧元货币格式到美元货币格式【英文标题】:From Euro currency format to USD currency format in PHP 【发布时间】:2015-03-21 12:11:32 【问题描述】:如何将欧元货币格式转换为美元货币格式。我只想格式化数字,这里不包括转换率。提前致谢。
【问题讨论】:
不要在脚本内部使用任何形式的货币格式:在脚本中将值维护为简单的浮点数,并且仅在实际向用户显示它们时对其进行格式化......那么你永远不需要从一个格式化字符串转换为另一个 @MarkBaker 感谢您的回复。实际上,我有很多不同的货币值,主要是欧元、加元和英镑,我的项目要求是将它们全部转换为数据库表中的浮点数。 这些字符串值是否仅包含货币代码?或者使用,
作为小数分隔符而不是.
,使用空格作为千位分隔符而不是,
,等等?
yes ,
作为小数分隔符,空格作为千位分隔符,不涉及货币代码。
棘手,因为 ,
的模糊性有时需要删除,有时需要转换为小数点....如果您知道任何值的语言环境/货币,您可以能够使用php的international currency formatterparseCurrency()方法
【参考方案1】:
我自己找到了答案。是NumberFormatter的parse函数
$fmt = new NumberFormatter( 'fr_FR', NumberFormatter::DECIMAL );
$num = "1 234,56";
echo $fmt->parse($num)."\n";
它工作正常。 谢谢。
【讨论】:
【参考方案2】:NumberFormatter
类可以表示不同种类的数字格式。它有一个parseCurrency()
方法来解析带有货币值的字符串。
有了这个,您应该能够为您必须处理的不同数字格式创建解析器。
【讨论】:
$fmt = new NumberFormatter( "de_DE", NumberFormatter::CURRENCY ); $number = "0,007"; $curr = "USD"; echo "We have ".$fmt->parseCurrency($number, $curr)." in $curr\n";
回复我We have in USD
知道这如何工作吗?以上是关于PHP中从欧元货币格式到美元货币格式的主要内容,如果未能解决你的问题,请参考以下文章