numfmt_format_currency但没有分钱

时间:2018-05-18 16:43:52

标签: php

我使用这段代码格式化数据库中的数字,使其成为货币

$formnum = numfmt_create( 'fr_FR', NumberFormatter::CURRENCY);
                    $datavalue = !empty($datavalue) ?
numfmt_format_currency($formnum, intval($datavalue), 'EUR') : '';

但如果 $ datavalue 等于(比方说)10,我会 10,00€ 但显然我想要的是 10€

(如果你想尝试的话)

 $formnum = numfmt_create( 'fr_FR', NumberFormatter::CURRENCY);
 $datavalue = numfmt_format_currency($formnum,intval("10"), 'EUR');

 echo $datavalue;

1 个答案:

答案 0 :(得分:2)

使用NumberFormatter类的完整范围(即FRACTION_DIGITS属性)尝试这样的事情:

$fmt = new NumberFormatter('fr_FR', NumberFormatter::CURRENCY);
$fmt->setTextAttribute(NumberFormatter::CURRENCY_CODE, 'EUR');
$fmt->setAttribute(NumberFormatter::FRACTION_DIGITS, 0);

echo $fmt->formatCurrency($datavalue, 'EUR');

文档在这里:http://php.net/manual/en/numberformatter.formatcurrency.php