NumberFormatter :: ORDINAL дает мне мусор - PullRequest
0 голосов
/ 20 февраля 2011

Я пытаюсь использовать класс NumberFormatter в PHP, и у меня возникают проблемы с форматом ORDINAL. Я пробовал пару других форматов без проблем. Но когда я использую ORDINAL, я просто получаю мусор. Выбор другой локали, кажется, дает мне другой мусор.

$round = new NumberFormatter("en", NumberFormatter::ORDINAL);
echo $round->format(6);

Я ожидал бы, что выходной сигнал будет "6-ым", но вместо этого я получу "6 ° - Ê °".

1 Ответ

2 голосов
/ 20 февраля 2011

Этот "мусор" в конце - это некоторая кодировка Unicode верхнего символа "th".Для надстрочных букв есть специальные символы (хотя они обычно не используются), и NumberFormatter использует их.Соответствующий файл правил в ICU: http://source.icu -project.org / repos / icu / icu / trunk / source / data / rbnf / en.txt .

...