我尝试将来自php的格式化货币输入作为输入值
$format = numfmt_create( 'fr_FR', NumberFormatter::CURRENCY);
$datavalue = numfmt_format_currency($format, $data['value'], 'EUR');
它有效,但结果包含像这样的牢不可破的空间特征
value='10,0 €'
导致我的设计陷入困境,我还没有找到如何删除它
已经尝试过:
str_replace(' ', " ", $datavalue);
答案 0 :(得分:0)
通过html_entity_decode()运行结果,然后执行 str_replace(' ', '', $datavalue);
class/function更喜欢将整数传递给它,因此您需要在进入函数之前清理数据。
答案 1 :(得分:0)
您可以使用numberFormatter
示例:
$amount = '12345.67';
$formatter = new NumberFormatter('fr_FR', NumberFormatter::CURRENCY);
echo 'format: ', $formatter->formatCurrency($amount, 'EUR'), PHP_EOL;
//output
12 345,67 €
编辑其他方法是使用此MoneyFormat 示例
$number = 1234.56;
// let's print the international format for the en_US locale
setlocale(LC_MONETARY, 'en_US');
echo money_format('%i', $number) . "\n";
// USD 1,234.56