hikuroshi / terbilang-number-to-word
一个将数字转换为任何语言的文本表示的PHP库。
1.2.0
2024-06-19 18:19 UTC
Requires
- php: ^7.4 || ^8.0
Requires (Dev)
- pestphp/pest: ^2.3
README
Terbilang是一个将数字转换为任何语言的文本表示的PHP库。它提供了一种简单灵活的方式将数字值转换为它们的文本表示。
安装
您可以通过Composer安装此包
composer require hikuroshi/terbilang-number-to-word
使用
use Hikuroshi\Terbilang\Terbilang; // Convert number to words echo Terbilang::terbilang(24434); // Outputs "twenty four thousand four hundred thirty four" // Convert number to words with digit separation echo Terbilang::terbilang(24434, true); // Outputs "two four four three four"
方法
Terbilang::terbilang(int $number, bool $apart = false): Terbilang
使用指定的数字创建一个新的Terbilang类实例。
$number
: 要转换为文本的数字。$apart
: 是否使用分隔的数字表示法(每个数字)(true)或完整的数字文本表示法(false)。默认是false
。
use Hikuroshi\Terbilang\Terbilang; // Convert number to words echo Terbilang::terbilang(24434); // Outputs "twenty four thousand four hundred thirty four"
...
Terbilang::simply($simply = true | array): Terbilang
根据指定的规则简化文本表示。例如,“一百”简化为“一百”。
$simply
: 如果为true,则应用默认简化规则。如果为数组,则使用指定的简化规则。默认不使用此方法为false
。
use Hikuroshi\Terbilang\Terbilang; // Convert number with default simplification echo Terbilang::terbilang(1111)->simply(); // Outputs "a thousand a hundred eleven" // Convert number with specified simplification echo Terbilang::terbilang(1111)->simply(['hundred']); // Outputs "one thousand a hundred eleven"
...
Terbilang::separator(string $separator): Terbilang
设置单词之间的分隔符。
$separator
: 分隔符字符串。默认是" "
。
use Hikuroshi\Terbilang\Terbilang; // Convert number with custom separator echo Terbilang::terbilang(24434)->separator(' >//< '); // Outputs "twenty >//< four >//< thousand >//< four >//< hundred >//< thirty >//< four"
...
Terbilang::caseStyle(string $caseStyle): Terbilang
设置输出字符串的样式。
$caseStyle
: 样式 'camel', 'snake', 'kebab', 'pascal', 'macro', 或 'train'。默认是 'lowercase'。
use Hikuroshi\Terbilang\Terbilang; // Convert number with camel case style echo Terbilang::terbilang(24434)->caseStyle('camel'); // Outputs "twentyFourThousandFourHundredThirtyFour"
...
Terbilang::lang(string $language): Terbilang
设置数字转换的语言。
$language
: 语言代码(例如,'id'代表印度尼西亚语,'en'代表英语)。默认是en
。
use Hikuroshi\Terbilang\Terbilang; // Convert number to words with Indonesian language echo Terbilang::terbilang(24434)->lang('id'); // Outputs "dua puluh empat ribu empat ratus tiga puluh empat"
支持的语言
...
Terbilang::loadLang(array|string $languageData): Terbilang
加载自定义的数字转换语言规则。此方法允许从数组或JSON文件加载自定义语言规则。自定义语言规则将与默认语言规则合并。
$languageData
: 自定义语言数据。它可以是一个包含语言规则的关联数组,或包含语言规则的JSON文件的路径。
use Hikuroshi\Terbilang\Terbilang; // Load custom language rules from an array $customLanguageRules = [ "units" => ["rei", "ichi", "ni", "san", "yon", "go", "roku", "nana", "hachi", "kyuu"] ]; echo Terbilang::loadLang($customLanguageRules)->terbilang(24434); // Outputs "twenty yon thousand yon hundred thirty yon" // Load custom language rules from a JSON file echo Terbilang::loadLang('/path/to/custom_language_rules.json')->terbilang(24434);
如果您的自定义语言规则使用不同的数字系统(如日语),请向数组添加"numberingSystem"以指定数字系统。例如,
$customLanguageRules = [ "units" => ["rei", "ichi", "ni", "san", "yon", "go", "roku", "nana", "hachi", "kyuu"], "numberingSystem" => "japanese" ];
支持数字系统
...
贡献
感谢您考虑为此项目做出贡献!
许可证
本项目采用MIT许可证 - 详细内容请参阅LICENSE文件。
支持项目
如果您觉得这个项目很有用,并想支持其开发,请考虑进行捐赠。您的贡献有助于覆盖开发成本并确保项目得到良好维护。
感谢您的支持!