hikuroshi/terbilang-number-to-word

一个将数字转换为任何语言的文本表示的PHP库。

1.2.0 2024-06-19 18:19 UTC

This package is auto-updated.

Last update: 2024-09-19 18:51:14 UTC


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文件。

支持项目

如果您觉得这个项目很有用,并想支持其开发,请考虑进行捐赠。您的贡献有助于覆盖开发成本并确保项目得到良好维护。

ko-fi

感谢您的支持!