muhammed2020osman/spell-number

轻松将数字转换为字母,该库支持原生PHP INTL扩展,我们可以轻松地将数字转换为字母。此库为我们提供了将数字仅转换为数字或根据要使用的语言转换为货币格式的可能性,此包具有支持

dev-main / 1.0.x-dev 2023-08-14 03:16 UTC

This package is auto-updated.

Last update: 2024-09-14 05:39:13 UTC


README

使用此库,您可以在Laravel中将数字轻松转换为文字,该库利用原生PHP INTL扩展轻松执行转换。使用此库,您可以将数字转换为多种语言,并根据所选语言获取货币格式的值。支持的语言包括英语、西班牙语、葡萄牙语、法语、意大利语、罗马尼亚语,以及Siros Fakhri的贡献,增加了波斯语(法尔斯语)的支持。

⚙️ 此库与Laravel版本8.1及以上兼容 ⚙️

Laravel 8.1+ Laravel 9.0+ Laravel 10.0+

SpellNumbers

目录

安装

要使用Composer安装依赖项,请执行以下命令

composer require muhammed2020osman/spell-number

确保在环境中启用了并加载了intl扩展是很重要的。

用法

在您的项目中安装依赖项后,您可以使用以下示例开始使用它

了解支持的区域配置

要获取支持的语言当前列表,请执行以下命令

SpellNumber::getAllLocales();
// array:7 [▼
//     0 => "en" (English)
//     1 => "es" (Spanish)
//     2 => "pt" (Portuguese)
//     3 => "fr" (French)
//     4 => "it" (Italian)
//     5 => "ro" (Romanian)
//     6 => "fa" (Farsi)
// ]

将整数转换为文字

您可以通过定义要应用的区域配置轻松将数字转换为文字。如果您未定义区域配置,则默认应用“en”(英语)。

SpellNumber::value(100)->locale('es')->toLetters();
// "Cien"

SpellNumber::value(100)->locale('fa')->toLetters();
// "صد"

SpellNumber::value(100)->locale('en')->toLetters();
// "One Hundred"

转换浮点数

如果需要,您可以传递一个浮点数作为参数将其转换为文字。

SpellNumber::value(123456789.12)->locale('es')->toLetters();
// "Ciento Veintitrés Millones Cuatrocientos Cincuenta Y Seis Mil Setecientos Ochenta Y Nueve Con Doce"

转换为货币格式

此方法在发票、收据等场景中可能很有用。以货币格式获取提供的值。

SpellNumber::value(100)->locale('es')->currency('pesos')->toMoney();
// "Cien Pesos"

SpellNumber::value(100.12)->locale('es')->currency('Pesos')->fraction('centavos')->toMoney();
// "Cien Pesos Con Doce Centavos"

SpellNumber::value(100)->locale('fa')->currency('تومان')->toMoney();
// "صد تومان"

其他初始化方法

为支持版本1.X,以下初始化方法得到保留。

// Integer, this method strictly requires an integer value to be sent as an argument.
SpellNumber::integer(100)->locale('es')->toLetters();

// Floating-point numbers, this method strictly requires a string value as an argument.
SpellNumber::float('12345.23')->locale('es')->toLetters();

创建者

贡献者

Siros Fakhri(波斯语)

许可

本项目采用MIT许可协议