数字格式化程序与序号的行为不一致
Inconsistent behaviour for number formatter with ordinal
我今天遇到了最奇怪的事情,我不知道该怎么办。
这是我的代码:
<?php
$nf = new \NumberFormatter("en_UK", \NumberFormatter::ORDINAL);
die(var_dump($nf->format(1)));
此代码在 PHP 版本 5.6.20 中输出以下内容:
string(3) "1st"
但它在 PHP 版本 5.6.14 中输出以下内容:
string(6) "1ˢᵗ"
我不知道该怎么做。上标版本是我没想到的。我浏览了更改日志,但没有看到记录的此更改。任何人都知道这是否是预期的行为?有什么方法可以强制它回到第一个行为(因为在表单中呈现它时看起来很奇怪)?
PHP5.6.20 安装使用 ICU 版本 4.8.1.1,而 5.6.14 使用 ICU 版本 4.4.0.1
我只想升级到更新的 ICU。
奇怪的上标在 CLDR 2.0 It was introduced in this ticket 年前被修复了。我不确定是哪个 CLDR 版本引入了它,但不幸的是我的名字作为审阅者出现了。也许在当时看来是个好主意。
这是来自 CLDR 的数据而不是代码,通常我们不会为每个数据更改创建一个更改日志条目。
我今天遇到了最奇怪的事情,我不知道该怎么办。
这是我的代码:
<?php
$nf = new \NumberFormatter("en_UK", \NumberFormatter::ORDINAL);
die(var_dump($nf->format(1)));
此代码在 PHP 版本 5.6.20 中输出以下内容:
string(3) "1st"
但它在 PHP 版本 5.6.14 中输出以下内容:
string(6) "1ˢᵗ"
我不知道该怎么做。上标版本是我没想到的。我浏览了更改日志,但没有看到记录的此更改。任何人都知道这是否是预期的行为?有什么方法可以强制它回到第一个行为(因为在表单中呈现它时看起来很奇怪)?
PHP5.6.20 安装使用 ICU 版本 4.8.1.1,而 5.6.14 使用 ICU 版本 4.4.0.1
我只想升级到更新的 ICU。
奇怪的上标在 CLDR 2.0 It was introduced in this ticket 年前被修复了。我不确定是哪个 CLDR 版本引入了它,但不幸的是我的名字作为审阅者出现了。也许在当时看来是个好主意。
这是来自 CLDR 的数据而不是代码,通常我们不会为每个数据更改创建一个更改日志条目。