cognitus / numbertowords-esp
该软件包已废弃,不再维护。未建议替代软件包。
将数字或数字字符串转换为相应的文字值。
2.0.1
2022-04-26 16:04 UTC
Requires
- php: >=8.0
Requires (Dev)
- phpunit/phpunit: ^9
README
将数字或数字字符串转换为相应的文字值。
它是 xarenisoft/numbertowords-esp 的分支
安装
composer require cognitus/numbertowords-esp
方法
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