TigerZF
🌐Español

25.4. ¿Qué compone una moneda?

La moneda consta de varias informaciones. Un nombre, una abreviatura y un signo. Cada una de ellas podría ser relevante para mostrarla, pero solo una a la vez. No sería una buena práctica mostrar algo como "USD 1.000 $".

Por lo tanto, Zend_Currency permite definir la información de la moneda que debe renderizarse. Pueden usarse las siguientes constantes:

Tabla 25.1. Informaciones renderizadas para una moneda

Constante Descripción
NO_SYMBOL No se renderizará ninguna representación de la moneda
USE_SYMBOL Se renderizará el símbolo de la moneda. Para el dólar estadounidense sería '$'
USE_SHORTNAME Se renderizará la abreviatura de esta moneda. Para el dólar estadounidense sería 'USD'. La mayoría de las abreviaturas constan de 3 caracteres
USE_NAME Se renderizará el nombre completo de esta moneda. Para el dólar estadounidense el nombre completo sería "US Dollar"

Ejemplo 25.2. Seleccionando la descripción de la moneda

Supongamos que su cliente ha establecido de nuevo "en_US" como configuración regional. Usando ninguna opción el valor devuelto podría verse así:

$currency = new Zend_Currency(
    array(
        'value' => 100,
    )
);

print $currency; // Podría devolver '$ 100'

Proporcionando la opción adecuada puede definir qué información debe renderizarse.

$currency = new Zend_Currency(
    array(
        'value'   => 100,
        'display' => Zend_Currency::USE_SHORTNAME,
    )
);

print $currency; // Podría devolver 'USD 100'

Sin proporcionar display se usará el signo de la moneda al renderizar el objeto. Cuando la moneda no tiene signo, se usará la abreviatura como sustituto.


[Note] No todas las monedas tienen signos

Debe tener en cuenta que no todas las monedas tienen signos de moneda predeterminados. Esto significa que, cuando no hay un signo predeterminado, y usted establece que se renderice el signo, no tendrá ninguna moneda renderizada porque el signo es una cadena vacía.

A veces es necesario cambiar la información predeterminada. Puede establecer cada una de las tres informaciones de la moneda de forma independiente proporcionando la opción adecuada. Vea el siguiente ejemplo.

Ejemplo 25.3. Cambiando la descripción de la moneda

Supongamos que su cliente ha establecido de nuevo "en_US" como configuración regional. Pero ahora no queremos usar la configuración predeterminada sino establecer nuestra propia descripción. Esto puede hacerse simplemente proporcionando la opción adecuada:

$currency = new Zend_Currency(
    array(
        'value' => 100,
        'name'  => 'Dollar',
    )
);

print $currency; // Podría devolver 'Dollar 100'

También podría establecer usted mismo un signo o una abreviatura.

$currency = new Zend_Currency(
    array(
        'value'    => 100,
        'symbol' => '$$$',
    )
);

print $currency; // Podría devolver '$$$ 100'

[Note] Configuración automática de la visualización

Cuando establece usted mismo un nombre, abreviatura o signo, esta nueva información se establecerá automáticamente para ser renderizada. Esta simplificación le evita tener que establecer la opción display adecuada cuando establece una información.

Así, usando la opción sign puede omitir display y no necesita establecerla en 'USE_SYMBOL'.