如果逗号后面没有数字,则将货币转换为单个数字

时间:2015-06-10 09:39:06

标签: php integer

我有一个价格,让我们说$price = 9,00 €。如果逗号之后价格有2个零,那么很容易将其转换为9 €?我的意思是这个或那个东西有功能。如果使用字符无法做到这一点,那么如何仅使用整数9,00> 9,但9,20将保留9,20

我知道可以使用substr或其他方式完成,但我想知道PHP是否可以解决这种情况。

1 个答案:

答案 0 :(得分:3)

您必须使用NumberFormatter

$formatter = new NumberFormatter('de-DE', NumberFormatter::CURRENCY);

将其解析为浮动

$value = $formatter->parseCurrency('9,00 €', 'EUR');

检查 int float

$digits = floor($value) == $value ? 0 : 2;

格式化

$formatter->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, $digits);
echo $formatter->formatCurrency($value, 'EUR');