illusive-man / converter
将数字转换为文本表示形式
Requires
- php: 7.*
- guzzlehttp/guzzle: ^6.3
Requires (Dev)
- phpunit/phpunit: 6.*
This package is not auto-updated.
Last update: 2024-09-29 01:22:48 UTC
README
Compact PHP 库,将给定的数值转换为它的文本表示形式(俄语)。最初我想让Number2Text成为一个通用库,但考虑到其他语言的类似类库数量,我决定只使用俄语词汇。也许我将来会为了多样性而扩展它到英语;)
INFO
Number2Text 能够快速将负数 1e+510 到正数 1e+510 的数字转换为文本。当然,我认为在现实生活中,这些数字超过万亿并没有实际应用,但这不是很酷吗?!
安装
非常简单。前往您的项目根目录并运行此命令
composer require illusive-man/converter
用法
包含您的 autoload.php 文件,并像这样使用类的语句
require_once 'vendor/autoload.php'; use Converter\Core\Number2Text;
实例化类。如果您需要显示货币,取消注释第二行
$number = new Number2Text(); //$number->currency(true);
好吧,剩下的唯一要做的事情就是我们要转换的数字和将完成所有魔法的方法。
$number = '1051650555165450046516654000654640690000959555987960054106514'; echo $test->convert($number);
注意:由于我们处理的数字远远大于 64 位 php_max_int() 的数字,因此始终将数字作为字符串传递!
后记
这个转换器背后的次要原因是因为大多数之前创建的应用程序和工具(例如 Number Words 和基于它的某些工具)过于复杂,有时甚至不能正常工作(在线转换工具如 easycalculation.com 或 tools4noobs.com - 这两个都为俄语出错)。
实际上,大多数“通用转换器”对于像俄语这样的复杂语言都是错误的。此外,这些翻译器中的很大一部分不支持 PHP 7.0+。这个库做到了。此外,该库非常非常快(大数字如 1e+500 的随机数字为 0.0001s),即使对于巨大的数字,也只由两个文件组成。
但创建这个库、使用 Travis CI 和 Scrutinizer 维护它、使用 GitHub 这样的 VCS 的主要原因,是出于对知识和学习如此美丽的发展语言 - PHP 的纯粹贪婪。我故意将其设计为单文件类(实际上有两个,但第二个只是数据数组),所以请随意修改它,或者如果您能够重构它以使其更加兼容和/或更快,请提出拉取请求。
享受!