luecano/numero-a-letras
Composer 安装命令:
composer require luecano/numero-a-letras
包简介
Convierte un número a letras.
README 文档
README
Librería PHP para convertir un número a letras, palabras o texto.
Introducción
php-numero-a-letras es una librería PHP que permite convertir números a su representación en palabras. Es útil para generar textos como "mil doscientos treinta y cuatro" a partir del número 1234.
Actualmente soporta números desde 0 hasta 999,999,999,999,999.
Instalación
PHP ^8.2:
composer require luecano/numero-a-letras
PHP 7.2 a 8.1:
composer require luecano/numero-a-letras "^3.0"
PHP 5.6 a 7.1:
composer require luecano/numero-a-letras "^2.0"
Uso
Agregar referencia a librería.
require 'vendor/autoload.php'; // Línea no necesaria si se usa frameworks como Laravel use Luecano\NumeroALetras\NumeroALetras;
Rango soportado
- Mínimo:
0 - Máximo:
999999999999999
Ejemplo para números grandes:
$formatter = new NumeroALetras(); echo $formatter->toWords(1234567890123); //UN BILLÓN DOSCIENTOS TREINTA Y CUATRO MIL QUINIENTOS SESENTA Y SIETE MILLONES OCHOCIENTOS NOVENTA MIL CIENTO VEINTITRÉS
Convertir un número a letras o palabras
$formatter = new NumeroALetras(); echo $formatter->toWords($number, $decimals);
Parámetros:
-
int|float
$number(requerido) El número a convertir. -
int
$decimals(opcional) Establece el número de decimales, valor por defecto es 2.
Convertir un número a letras en formato moneda
$formatter = new NumeroALetras(); echo $formatter->toMoney($number, $decimals, $currency, $cents);
Parámetros:
-
int|float
$number(requerido) El número a convertir. -
int
$decimals(opcional) Establece el número de decimales, valor por defecto es 2. -
string
$currency(opcional) Establece el nombre o código de moneda para la parte entera, valor por defecto es string vacío. -
string
$cents(opcional) Establece el nombre o código para la parte decimal, valor por defecto es string vacío.
Convertir un número a letras en formato libre
$formatter = new NumeroALetras(); echo $formatter->toString($number, $decimals, $whole_str, $decimal_str);
Parámetros:
-
int|float
$number(requerido) El número a convertir. -
int
$decimals(opcional) Establece el número de decimales, valor por defecto es 2. -
string
$whole_str(opcional) Establece el texto para la parte entera, valor por defecto es string vacío. -
string
$decimal_str(opcional) Establece el texto para la parte decimal, valor por defecto es string vacío.
Convertir un número a letras en formato de facturación electrónica SUNAT
$formatter = new NumeroALetras(); echo $formatter->toInvoice($number, $decimals, $currency);
Parámetros:
-
int|float
$number(requerido) El número a convertir. -
int
$decimals(opcional) Establece el número de decimales, valor por defecto es 2. -
string
$currency(opcional) Establece el nombre o código de moneda, valor por defecto es string vacío.
Apócope de uno
Para cambiar la palabra 'UNO' por 'UN' hacer lo siguiente:
$formatter = new NumeroALetras(); $formatter->apocope = true;
Conector
Para cambiar la palabra 'CON' por otra de su preferencia hacer lo siguiente:
$formatter = new NumeroALetras(); $formatter->conector = 'Y';
Script rápido para probar la librería
El proyecto incluye el archivo test-library.php para hacer pruebas rápidas desde línea de comandos.
Uso:
php test-library.php <number> [decimals] [currency] [cents]
Ejemplos:
php test-library.php 1234567890123.45 php test-library.php 1234567890123.45 2 SOLES CENTIMOS php test-library.php 1234567890123.45 2 PESOS CENTIMOS
Ejemplos de uso
$formatter = new NumeroALetras(); echo $formatter->toWords(1100); //MIL CIEN
$formatter = new NumeroALetras(); $formatter->apocope = true; echo $formatter->toWords(101) . ' AÑOS'; //CIENTO UN AÑOS
$formatter = new NumeroALetras(); echo $formatter->toMoney(2500.90, 2, 'DÓLARES', 'CENTAVOS'); //DOS MIL QUINIENTOS DÓLARES CON NOVENTA CENTAVOS
$formatter = new NumeroALetras(); echo $formatter->toMoney(10.10, 2, 'SOLES', 'CENTIMOS'); //DIEZ SOLES CON DIEZ CENTIMOS
$formatter = new NumeroALetras(); $formatter->conector = 'Y'; echo $formatter->toMoney(11.10, 2, 'pesos', 'centavos'); //ONCE PESOS Y DIEZ CENTAVOS
$formatter = new NumeroALetras(); echo $formatter->toInvoice(1700.50, 2, 'soles'); //MIL SETECIENTOS CON 50/100 SOLES
$formatter = new NumeroALetras(); echo $formatter->toWords(1234567890123); //UN BILLÓN DOSCIENTOS TREINTA Y CUATRO MIL QUINIENTOS SESENTA Y SIETE MILLONES OCHOCIENTOS NOVENTA MIL CIENTO VEINTITRÉS
$formatter = new NumeroALetras(); echo $formatter->toString(5.2, 1, 'años', 'meses'); //CINCO AÑOS CON DOS MESES
Contribuciones
Se aceptan contribuciones siguiendo el GitHub Flow. Crea una rama, agrega commits y abre un pull request.
Licencia
Software de código abierto con licencia MIT license.
luecano/numero-a-letras 适用场景与选型建议
luecano/numero-a-letras 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 288.71k 次下载、GitHub Stars 达 76, 最近一次更新时间为 2018 年 11 月 05 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「letras」 「facturacion」 「convertir」 「numero」 「sunat」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 luecano/numero-a-letras 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 luecano/numero-a-letras 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 luecano/numero-a-letras 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Convierte un número a su valor correspondiente en letras.
Currency based number to words converted
Cliente para realizar la integración con los servicios web de LibreDTE desde PHP.
Convertidor de número a letra en español
This package allow you to convert csd to required pem files
This Package allow to conect multiple Pac providers sistems
统计信息
- 总下载量: 288.71k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 78
- 点击次数: 19
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-11-05