kwn / number-to-words
多语言独立PHP数字转文字转换器。经过全面测试,支持扩展和新语言的添加。
Requires
- php: >=7.4
Requires (Dev)
- phpunit/phpunit: ^9.6
- squizlabs/php_codesniffer: ^3.7.2
- dev-master
- 2.10.0
- 2.9.1
- 2.9.0
- 2.8.0
- 2.7.2
- 2.7.1
- 2.7.0
- 2.6.4
- 2.6.3
- 2.6.2
- 2.6.1
- 2.6.0
- 2.5.0
- 2.4.3
- 2.4.2
- 2.4.1
- 2.4.0
- 2.3.1
- 2.3.0
- 2.2.1
- 2.2.0
- 2.1.1
- 2.1.0
- 2.0.0
- 1.13.0
- 1.12.2
- 1.12.1
- 1.12.0
- 1.11.0
- 1.10.1
- 1.10.0
- 1.9.2
- 1.9.1
- 1.9.0
- 1.8.3
- 1.8.2
- 1.8.1
- 1.8.0
- 1.7.1
- 1.7.0
- 1.6.7
- 1.6.6
- 1.6.5
- 1.6.4
- 1.6.3
- 1.6.2
- 1.6.1
- 1.6.0
- 1.5.4
- 1.5.3
- 1.5.2
- 1.5.1
- 1.5.0
- 1.4.0
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.1
- 1.1.0
- 1.0.0
- 0.0.4
- 0.0.3
- 0.0.2
- 0.0.1
- dev-major-refactoring
- dev-russian-language-refactoring
This package is auto-updated.
Last update: 2024-09-18 20:14:32 UTC
README
欢迎使用 number-to-words
,一个PHP工具,可以无缝地将数值转换为对应的文字。只需几行代码,轻松将数字(如123)转换为如“一百二十三”这样的表达性和可读性强的格式。
安装
通过运行以下命令将包添加到您的composer.json中:
$ composer require kwn/number-to-words
使用方法
数字转文字转换有两种类型:数字和货币。为了使用特定语言的相应转换器,请创建一个NumberToWords
类的实例,并调用创建所需转换器实例的方法;
数字转换器
使用getNumberTransformer('lang')
方法创建特定语言的转换器
use NumberToWords\NumberToWords; // create the number to words "manager" class $numberToWords = new NumberToWords(); // build a new number transformer using the RFC 3066 language identifier $numberTransformer = $numberToWords->getNumberTransformer('en');
可以通过将数值传递给toWords()
方法来使用转换器
$numberTransformer->toWords(5120); // outputs "five thousand one hundred twenty"
也可以使用静态方法
NumberToWords::transformNumber('en', 5120); // outputs "five thousand one hundred twenty"
货币转换器
创建货币转换器的工作方式与数字转换器相同。
use NumberToWords\NumberToWords; // create the number to words "manager" class $numberToWords = new NumberToWords(); // build a new currency transformer using the RFC 3066 language identifier $currencyTransformer = $numberToWords->getCurrencyTransformer('en');
然后,可以将数值(金额)和ISO 4217货币标识符传递给toWords()
方法使用
$currencyTransformer->toWords(5099, 'USD'); // outputs "fifty dollars ninety nine cents"
也可以使用静态方法
NumberToWords::transformCurrency('en', 5099, 'USD'); // outputs "fifty dollars ninety nine cents"
注意:本库中的货币转换器处理整数;确保您的输入金额是整数,通过在转换之前将任何浮点值乘以100。例如,使用4567作为输入将45.67转换为准确的货币转换。
可用区域
贡献者
一些转换器是从pear/Numbers_Words
库移植过来的。其他的是由贡献者创建的。谢谢!
版本2.x - 兼容性和主要更改
- 放弃了对PHP <7.4的支持。
- 为
NumberTransformer
和CurrencyTransformer
接口添加了类型提示。现在它们都只接受整数(阿尔巴尼亚语可能会受到影响)。 - 添加了对PSR12的支持。
问题和答案
问:如果在使用库时遇到错误,我该怎么做?
答:如果您发现错误,请在我们GitHub存储库上打开一个问题。由于我可能不是所有语言都精通,我们鼓励用户提交修复并与我们合作以增强库的功能。
问:我的语言缺失。它能被添加吗?
答:我可能不知道您的语言。请随意实现缺失的语言并打开一个pull request。您可以使用现有的语言作为参考。