Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/09/2008, 11:15
Avatar de Avatar810
Avatar810
 
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 17 años, 7 meses
Puntos: 23
Respuesta: duda de poner decimales en javascript

No se si sea necesario que conviertas tu fincion, si no aqui te dejo uno de nuestros codigos para esta finalidad

function formatCurrency(num)
{
// Se limpia la cadena
num = num.toString().replace(/$|,/g,'');
//validamos que se numero
if(isNaN(num))
num = "0";
// se busca signo (pues hay perdidas osea dinero negativo
sign = (num == (num = Math.abs(num)));
//los centavos se hacen enteros y se redondea hacia arriba
num = Math.floor(num*100+0.50000000001);
// modulo 100 para ver cuantos centavos son
cents = num%100;
//se regresa a enteros
num = Math.floor(num/100).toString();
// se da formato
if(cents<10)
cents = "0" + cents;
//se ponen las comas cada 3 posiciones
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
//se estructura la cadena que regresa incluye signo de negativo, signo de pesos, entero, punto, centavos
return (((sign)?'':'-') + '$' + num + '.' + cents);
}

Edit: Perdona olvide comentarizarla
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810

Última edición por Avatar810; 05/09/2008 a las 11:21