Foros del Web » Programando para Internet » PHP »

Problemas con formula Aritmética en PHP

Estas en el tema de Problemas con formula Aritmética en PHP en el foro de PHP en Foros del Web. Muy buenos días amigos, mi consulta es la siguiente tengo este fragmento de código en PHP <? $a = 376953.00 + 47.00; $b = 376952.46; ...
  #1 (permalink)  
Antiguo 12/11/2009, 07:40
 
Fecha de Ingreso: noviembre-2008
Ubicación: Venezuela
Mensajes: 13
Antigüedad: 15 años, 5 meses
Puntos: 0
Problemas con formula Aritmética en PHP

Muy buenos días amigos, mi consulta es la siguiente tengo este fragmento de código en PHP

<?
$a = 376953.00 + 47.00;
$b = 376952.46;
$c = 47.54;

$ab = $a-$b;
$abc = $ab-$c;

echo $a."<br>";
echo $b."<br>";
echo $c."<br>";
echo $ab."<br>";
echo $abc."<br>";
?>

Y miren el resultado que me da

377000
376952.46
47.54
47.54
-2.09539052776E-11

Esto es una prueba que realice debido a que estoy haciendo un sistema grande y me encontré que al restar un monto ingresado con uno ya guardado que debería dar cero pues me daba algo parecido a este ultimo resultado, por ello comencé a realizar estas pruebas y ese fue el resultado que me dio .. si alguien sabe porque pasa esto y sabe la solución le agradeceré su ayuda

Muchas gracias
  #2 (permalink)  
Antiguo 12/11/2009, 07:50
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Problemas con formula Aritmética en PHP

Te sugiero que uses alguna funcion como por ejemplo round para poder hacer los calculos, mira este ejemplo
Código PHP:
Ver original
  1. <?php
  2. $a = 376953.00 + 47.00;
  3. $b = 376952.46;
  4. $c = 47.54;
  5.  
  6. $ab = round($a-$b,2);
  7. $abc = round($ab-$c,2);
  8.  
  9. echo $a."<br>";
  10. echo $b."<br>";
  11. echo $c."<br>";
  12. echo $ab."<br>";
  13. echo $abc."<br>";
Como tambien number_format. Tu escoges cual usar.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:54.