我一直在阅读Yii关于CNumberFormatter
的文档,但我没有找到任何关于以序数方式格式化数字的文档。所以我的问题是:
是否完全可以使用Yii的内置CNumberFormatter
类以顺序方式格式化数字。
Example: $number = 1 -> format to ordinal -> returns `1st`.
如果是,怎么样?
答案 0 :(得分:0)
扩展您自己的格式化程序类,添加Display numbers with ordinal suffix in PHP的代码:
<?php
class CustomFormatter extends CFormatter {
public function formatOrdinal($value) {
$ends = array('th','st','nd','rd','th','th','th','th','th','th');
if (($value%100) >= 11 && ($value%100) <= 13)
return $value. 'th';
else
return $value. $ends[$value % 10];
}
}
在Yii的main.php配置文件中实现它:
// application components
'components' => array(
'format' => array(
'class' => 'application.extensions.CustomFormatter',
),
...