是否可以使用PHP NumberFormatter
类以单数或复数形式显示单词,具体取决于使用setPattern
方法的数字值?
此方法正在使用ICU DecimalFormat
库,但我不熟悉它。
当值大于1时,我想在page
字上使用复数:
$sizeFormatter = new NumberFormatter('fr_FR', NumberFormatter::DECIMAL);
$sizeFormatter->setPattern('#0.# page(s)');
答案 0 :(得分:0)
DecinalFormat的模式支持按数字符号选择子模式。
所以你可以使用像$number > 1 ? $number : -$number
之类的小黑客用它来设置单数/复数词。输出数字为正数。
$sizeFormatter = new NumberFormatter('fr_FR', NumberFormatter::DECIMAL);
$sizeFormatter->setPattern('0 pages; 0 page');
$number = 3;
echo $sizeFormatter->format($number > 1 ? $number : -$number);