PHP 有一个NumberFormatter
类,您可以使用它来为不同的语言环境设置数字格式。
您可以创建一个格式化程序,如:
$formatter = new \NumberFormatter("en-US", \NumberFormatter::ORDINAL);
并将其与$formatter->format(3);
.
以下是我尝试过的一些语言环境:
>>> $a = new \NumberFormatter("it-IT", \NumberFormatter::ORDINAL);
=> NumberFormatter {#3199
locale: "it",
pattern: """
%%dord-mascabbrev:\n
0: º;\n
%digits-ordinal-masculine:\n
0: =#,##0==%%dord-mascabbrev=;\n
-x: −>%digits-ordinal-masculine>;\n
%%dord-femabbrev:\n
0: ª;\n
%digits-ordinal-feminine:\n
0: =#,##0==%%dord-femabbrev=;\n
-x: −>%digits-ordinal-feminine>;\n
%digits-ordinal:\n
0: =%digits-ordinal-masculine=;\n
""",
…3
}
>>> $a->format(12)
=> "12º"
>>> $a = new \NumberFormatter("en-US", \NumberFormatter::ORDINAL);
=> NumberFormatter {#3197
locale: "en",
pattern: """
%digits-ordinal:\n
0: =#,##0=$(ordinal,one{st}two{nd}few{rd}other{th})$;\n
-x: −>%digits-ordinal>;\n
""",
…3
}
>>> $a->format(12)
=> "12th"
>>> $a = new \NumberFormatter("fr-FR", \NumberFormatter::ORDINAL);
=> NumberFormatter {#3188
locale: "fr",
pattern: """
%digits-ordinal-masculine:\n
0: =#,##0=$(ordinal,one{er}other{e})$;\n
-x: −>%digits-ordinal-masculine>;\n
%digits-ordinal-feminine:\n
0: =#,##0=$(ordinal,one{re}other{e})$;\n
-x: −>%digits-ordinal-feminine>;\n
%digits-ordinal-masculine-plural:\n
0: =#,##0=$(ordinal,one{ers}other{es})$;\n
-x: −>%digits-ordinal-masculine-plural>;\n
%digits-ordinal-feminine-plural:\n
0: =#,##0=$(ordinal,one{res}other{es})$;\n
-x: −>%digits-ordinal-feminine-plural>;\n
%digits-ordinal:\n
0: =%digits-ordinal-masculine=;\n
""",
…3
}
>>> $a->format(12)
=> "12e"