xarenisoft/numbertowords-esp

将数字或数字字符串转换为相应的文字值。

1.1.1 2019-11-20 06:45 UTC

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