phpviet/yii-number-to-words

Yii number to words 支持将数字转换为越南语数字

安装: 37

依赖: 0

建议者: 0

安全性: 0

星标: 2

关注者: 2

分支: 0

公开问题: 0

类型:yii2-extension

1.0.0 2019-06-07 05:23 UTC

This package is auto-updated.

Last update: 2024-09-15 17:59:21 UTC


README

Yii Number To Words


Latest version Build status Quantity score StyleCI Total download License

信息

Yii number to words 支持将数字转换为越南语数字。

安装

通过 Composer 安装 Yii Number To Words

composer require phpviet/yii-number-to-words

使用方法

扩展功能

数字转换为数字

  • 通过 helper phpviet\yii\numberToWords\N2WHelper 使用
use phpviet\yii\numberToWords\N2WHelper;

// âm năm
N2WHelper::toWords(-5); 

// năm
N2WHelper::toWords(5); 

// năm phẩy năm
N2WHelper::toWords(5.5); 
  • 通过 n2w 组件使用
// mười lăm
Yii::$app->n2w->toWords(15); 

// một trăm linh năm
Yii::$app->n2w->toWords(105); 

// hai mươi tư
Yii::$app->n2w->toWords(24); 

数字转换为货币

  • 通过 helper phpviet\yii\numberToWords\N2WHelper 使用
use phpviet\yii\numberToWords\N2WHelper;

// năm triệu sáu trăm chín mươi nghìn bảy trăm đồng
N2WHelper::toCurrency(5690700);
  • 通过 n2w 组件使用
// chín mươi lăm triệu năm trăm nghìn hai trăm đồng
Yii::$app->n2w->toCurrency(95500200);

此外,我们还可以通过 helper 和 component 中的 toCurrency 方法的第二个参数使用其他货币单位,其中数组的第一个元素是整数部分的单位,接下来是小数部分的单位

use phpviet\yii\numberToWords\N2WHelper;

// sáu nghìn bảy trăm bốn mươi hai đô bảy xen
N2WHelper::toCurrency(6742.7, ['đô', 'xen']);

// chín nghìn bốn trăm chín mươi hai đô mười lăm xen
Yii::$app->n2w->toCurrency(9492.15, ['đô', 'xen']);

更改数字的读法

如果您觉得上面的读法已经很好,则可以跳过此步骤。

首先,要更改数字的读法,请配置 app config 文件中的 n2w component

'components' => [
    'n2w' => [
        'class' => 'phpviet\yii\numberToWords\N2W',
        'dictionary' => 'standard',
        'dictionaries' => [
            'standard' => PHPViet\NumberToWords\Dictionary::class,
            'south' => PHPViet\NumberToWords\SouthDictionary::class
        ]
    ]
];

现在,您可以将 dictionarystandard 更改为 south,这样所有数字到数字和货币的转换都将按照南方的风格进行阅读

use phpviet\yii\numberToWords\N2WHelper;

// một trăm linh một => một trăm lẻ một
N2WHelper::toWords(101);

// một nghìn => một ngàn
N2WHelper::toWords(1000);

 // hai mươi tư => hai mươi bốn
N2WHelper::toWords(24);

// một trăm hai mươi tư nghìn không trăm linh một đồng => một trăm hai mươi bốn ngàn không trăm lẻ một đồng
N2WHelper::toCurrency(124001);

或者您想更灵活地指定字典

use phpviet\yii\numberToWords\N2WHelper;

// một trăm hai mươi tư nghìn không trăm linh một
N2WHelper::toWords(124001);

// một trăm hai mươi bốn ngàn không trăm lẻ một
N2WHelper::toWords(124001, 'south');

如果您想根据您的意愿更改读法,则可以创建一个继承自 PHPViet\NumberToWords\DictionaryDictionary 类,或者实现抽象类 PHPViet\NumberToWords\DictionaryInterface

use PHPViet\NumberToWords\Dictionary;
use PHPViet\NumberToWords\Transformer;

class MyDictionary extends Dictionary {

    /**
     * @inheritDoc
     */
    public function specialTripletUnitFive(): string
    {
        return 'nhăm';
    }

}

然后声明到 config

'components' => [
    'n2w' => [
        'class' => 'phpviet\yii\numberToWords\N2W',
        'dictionary' => 'my',
        'dictionaries' => [
            'standard' => PHPViet\NumberToWords\Dictionary::class,
            'south' => PHPViet\NumberToWords\SouthDictionary::class,
            'my' => MyDictionary::class
        ]
    ]
];

然后尝试一下

use phpviet\yii\numberToWords\N2WHelper;

// mười nhăm
N2WHelper::toWords(15);

面向开发者

如果您觉得扩展缺少或错误,并且您想共同开发,我们非常欢迎!请创建 issue 来为下一个版本贡献想法,或者创建 PR 来贡献。谢谢!