Volver a la página principal
lunes 4 noviembre 2024
13

Cómo obtener configuración local de números y monedas en PHP con localeconv()

La función localeconv() en PHP permite acceder a las convenciones de configuración local del sistema para números y monedas. Es especialmente útil cuando se trabaja con aplicaciones que requieren formatear valores numéricos o monetarios en función de la configuración regional del usuario, ya que permite obtener detalles como el símbolo de la moneda, el separador decimal y el de miles, entre otros.

¿Qué es localeconv() en PHP?

localeconv() es una función de PHP que devuelve un array con información sobre el formato de números y monedas según la configuración local establecida con setlocale(). Esta función es útil para adaptar el formato de salida de los números a las preferencias locales del usuario.

Sintaxis

array localeconv ( void )

La función no toma ningún argumento y devuelve un array asociativo con configuraciones locales.

Array devuelto por localeconv()

El array devuelto por localeconv() contiene las siguientes claves:

Clave Descripción
decimal_point Caracter utilizado para el separador decimal en números.
thousands_sep Caracter utilizado para el separador de miles.
grouping Agrupamiento de dígitos en números.
int_curr_symbol Símbolo de moneda internacional (ISO 4217).
currency_symbol Símbolo local de moneda.
mon_decimal_point Separador decimal para valores monetarios.
mon_thousands_sep Separador de miles para valores monetarios.
mon_grouping Agrupamiento de dígitos en valores monetarios.
positive_sign Símbolo utilizado para números positivos.
negative_sign Símbolo utilizado para números negativos.
int_frac_digits Número de decimales en valores monetarios internacionales.
frac_digits Número de decimales en valores monetarios locales.
p_cs_precedes Indica si el símbolo de moneda precede el valor (1) o no (0) en valores positivos.
n_cs_precedes Indica si el símbolo de moneda precede el valor (1) o no (0) en valores negativos.
p_sep_by_space Indica si hay un espacio entre el símbolo de moneda y el valor positivo (1) o no (0).
n_sep_by_space Indica si hay un espacio entre el símbolo de moneda y el valor negativo (1) o no (0).
p_sign_posn Posición del signo positivo (0-4).
n_sign_posn Posición del signo negativo (0-4).

Ejemplo de uso de localeconv()

A continuación, se muestra un ejemplo de cómo utilizar localeconv() para obtener la configuración local y formatear un número:

<?php
// Configura la localización a España
setlocale(LC_ALL, 'es_ES.UTF-8');

// Obtiene la configuración de localización
$locale_info = localeconv();

// Muestra la configuración de moneda y números
echo "Símbolo de moneda: " . $locale_info['currency_symbol'] . "\n";
echo "Separador decimal: " . $locale_info['decimal_point'] . "\n";
echo "Separador de miles: " . $locale_info['thousands_sep'] . "\n";
echo "Formato de agrupamiento: " . implode(',', $locale_info['grouping']) . "\n";

Formato de salida esperado (para configuración es_ES.UTF-8)

Símbolo de moneda: €
Separador decimal: ,
Separador de miles: .
Formato de agrupamiento: 3

Referencia oficial

Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer