Yii:CNumberFormatter用于按顺序样式格式化数字

时间:2014-02-21 02:01:19

标签: yii numbers

我一直在阅读Yii关于CNumberFormatter的文档,但我没有找到任何关于以序数方式格式化数字的文档。所以我的问题是:

是否完全可以使用Yii的内置CNumberFormatter类以顺序方式格式化数字。

Example: $number = 1 -> format to ordinal -> returns `1st`.

如果是,怎么样?

1 个答案:

答案 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',
     ),

     ...