xarenisoft / numbertowords-esp
将数字或数字字符串转换为相应的文字值。
1.1.1
2019-11-20 06:45 UTC
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: ^7
This package is auto-updated.
Last update: 2024-09-20 17:58:03 UTC
README
将数字或数字字符串转换为相应的文字值。这是一个分支自
安装
将 xarenisoft/numbertowords-esp
添加到您的 composer.json 文件中。
{ "require": { "xarenisoft/numbertowords-esp": "1.0.0" } }
方法签名
convertir(string $number,string $moneda = '',string $centimos = '',string $suffix='', int $flags = 0):string
参数
number.
要转换成文字的数字或数字字符串
moneda
添加到数值整数部分的货币文字。例如:PESOS
centimos
如果指定,这是货币的角部分,例如:CENTAVOS。如果未指定此值或为空字符串,则使用格式##/100
suffix
后缀,默认情况下,仅在格式为##/100时添加到字符串末尾,可以通过最后一个参数的标志更改此行为。
flags
用于更改方法行为的标志
用法
use Xarenisoft\NumberToWords\Esp\NumeroALetras; $letras = NumeroALetras::convertir(12345); //Tambien es posible recibir cadenas numericas echo NumeroALetras::convertir("121,311,321.21",'PESOS','CENTAVOS'); //CIENTO VENTIUN MILLONES TRESCIENTOS ONCE MIL TRESCIENTOS VENTIUN PESOS 21/100 echo NumeroALetras::convertir("$ 121,311,321.21",'PESOS','CENTAVOS'); //CIENTO VENTIUN MILLONES TRESCIENTOS ONCE MIL TRESCIENTOS VENTIUN PESOS 21/100 echo NumeroALetras::convertir("$-12131321.21",'PESOS','CENTAVOS'); //MENOS DOCE MILLONES CIENTO TREINTA Y UN MIL TRESCIENTOS VENTIUN PESOS CON VENTIUN CENTAVOS
除了选择分隔符和货币符号外
NumeroALetras::$currencySymbol='€'; NumeroALetras::$thousandSeparator='.'; NumeroALetras::$decimalSeparator=','; echo NumeroALetras::convertir("12.345,67 €",'EUROS','','EUR'); //DOCE MIL TRESCIENTOS CUARENTA Y CINCO EUROS 67/100 EUR
甚至可以通过 currencySymbol 接受以下格式
NumeroALetras::$currencySymbol='MXN'; echo NumeroALetras::convertir("-12131321.21 MXN",'PESOS','CENTAVOS'); //MENOS DOCE MILLONES CIENTO TREINTA Y UN MIL TRESCIENTOS VENTIUN PESOS CON VENTIUN CENTAVOS
使用标志配置方法
//forzando representar centimos cuando es cero: NumeroALetras::convertir("121,311,321.0",'PESOS','','M.N.',NumeroALetras::FORZAR_CENTIMOS); //CIENTO VENTIUN MILLONES TRESCIENTOS ONCE MIL TRESCIENTOS VENTIUN PESOS 00/100 M.N. //forzando usar sufijo a pesar de que el formato es CENTAVOS NumeroALetras::convertir("121,311,321.21",'PESOS','CENTAVOS','MXN',NumeroALetras::FORZAR_CENTIMOS|NumeroALetras::SUFFIX_SIEMPRE); //CIENTO VENTIUN MILLONES TRESCIENTOS ONCE MIL TRESCIENTOS VENTIUN PESOS CON VENTIUN CENTAVOS MXN',
##异常 如果数字/数字字符串超过百亿,将抛出 InvalidArgumentException 异常。
致谢
基于 PHP 类 AxiaCore/numero-a-letras