Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/01/2007, 11:15
rlozano1972
 
Fecha de Ingreso: marzo-2003
Mensajes: 9
Antigüedad: 21 años, 1 mes
Puntos: 1
Una ayuda con los decimales

Hola amigos del foro, esta vez con una enorme duda que espero me puedan ayudar a contestar.
Resulta que requiero de mucha precision en mis operaciones aritmeticas en un ERP que estoy realizando y me he topado con una caso para mi raro.
si realizo la siguiente comparacion de estos dos ECHO:
echo number_format(2967453.285,30)."<BR>";
echo number_format(135500.15*21.9,30)."<BR>";

me resulta lo siguiente:
2,967,453.285000000149011611938476562500
2,967,453.284999999683350324630737304688

el problema esta cuando deseo formatear a 2 decimales, resulta que obtengo:
(usando number_format(numero,2,'.','');)
2,967,453.29
2,967,453.28

Se que el mdato correcto es el primero, pero como han de darse cuenta, las operaciones las hago dentro de PHP y no resulta ser correcto, una solucion que pensado hacer es la siguiente:
echo number_format(number_format(135500.15*21.9,3,'.',' '),2,'.','')."<BR>";
y con esto me resulta el resultado correcto.
2,967,453.29

solo que tengo 2000 script que tengo que revisar y cambiar por este metodo, podria alguien decirme porque sucede esta variacion tan enorme de decimales y como podria precisar con mayor exactitud esto?.
Muchas gracias, y reciban un Saludo