¿Cómo podemos formatear un valor numérico a cualquier divisa?
Formatear numérico a divisa SQL Server
// Formato: 1230,20
select FORMAT(1230.20, 'G', 'es-es');
// Formato: 1.230,20
select FORMAT(1230.2090, 'N', 'es-es');
// Formato: 1.230,20 €
select FORMAT(1230.20, 'C', 'es-es');
Si queréis saber más, os dejo un enlace sobre FORMAT.
Formatear numérico a divisa jQuery
//Formato: 1230,20
$('span').text(parseFloat('1230.20').toFixed(2));
// Formato: 1.230,20
$('span').text(new Intl.NumberFormat('de-DE').format(parseFloat('1230.20').toFixed(2)));
// Formato: 1.230,20 €
$('span').text(new Intl.NumberFormat('de-DE').format(parseFloat('12345.67789').toFixed(2))).append('€');
Formatear numérico a divisa PHP
//Indicamos qué sistema monetario vamos a utilizar
setlocale(LC_MONETARY, 'es_ES');
// Formato: 1234,30
number_format(1234.30, 2,',','');
// Formato: 1.234,30
number_format(1234.30, 2,',','.');
// Formato: 1.234,30 EUR
money_format('%.2n', 1234.30);
// Formato: 1.234,30 €
str_replace('EUR','€', money_format('%.2n', 1234.30)). "\n";
Si queréis saber más, os dejo un enlace sobre setlocale y number_format
- En el caso de intentar cambiar los parámetros en jQuery de
NumberFormat('de-DE')
porNumberFormat('es-ES')
no lo aconsejo, porque al operar con la primera unidad no marca separador de unidades millar. Por ejemplo:
es-ES: 1000.50 → 1000,50
de-DE: 1000.50 → 1.000,50 - Si vas a operar con estos formatos, debes saber que en los EEUU marcan los miles con la coma y los decimales con un punto (1,230.20) y así es el estándar.
¿Quieres convertir divisas a otras en PHP?
Te sugiero que visites el siguiente post en el que te voy a explicar por pasos cómo vamos a obtener los datos y cómo vamos a convertirlos.