Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/10/2008, 12:44
ferranWEB
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 4 meses
Puntos: 3
ayuda con funcion € y decimales

buenas,

estoy implementando un carrito de la compra de un script free que he encontrado por internet. paso un valor de mi bd de productos, y el script le pasa una funcion y me da el resultado total.

tengo precios tal como 35.35, 78,93, 76.56.... pero tengo alguno como este 1259.49

y la extraña razon, es que el total, si pongo que me multiplique por 1 unidad, m,e da el siguiente resultado:

1259.949 €

os dejo la funcion:

Código:
function formatoeuros(input) {
    var euros = Math.floor(input)
    var tmp = new String(input)
    for (var decimalAt = 0; decimalAt < tmp.length; decimalAt++) {
       if (tmp.charAt(decimalAt)==".")
       break;
       }
  var centimos  = "" + Math.round(input * 100)
  centimos = centimos.substring(centimos.length-2, centimos.length)
  euros += ((tmp.charAt(decimalAt+2)=="9")&&(centimos=="00"))? 1 : 0;

  return euros + "." + centimos
}


    subtotal = subtotal + (campos[1] * campos[0]);
    preciototal = formatoeuros(subtotal);
alguien puede decirme que hago mal?

saludos