我有一个价格,假设是$price = 9,00 €
。如果price逗号后面有两个0有没有简单的方法把它转换成9 €
?我的意思是,是否有相应的函数。如果这是不可能的€
字符,如何做到只有整数9,00
> 9
,但9,20
将保持9,20
。
我知道它可以用substr
或其他方式完成,但我想知道PHP是否有这种情况的函数
你必须使用NumberFormatter
$formatter = new NumberFormatter('de-DE', NumberFormatter::CURRENCY);
解析为float
$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');