Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/01/2011, 20:10
Avatar de Lynxcraft
Lynxcraft
 
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 16 años, 5 meses
Puntos: 51
Exclamación Problemas al restar decimales PHP

Hola amigos tengo un problema al restar decimales, si resto mediante un for nunca llega a 0 y el otro que si el valor es igual a 0. 10 me da esto

1.04083408559E-17

la restas las hago de esta forma

Código PHP:
$cant=0.10;
for(
$i=0$i<45;$i++){
    if(
$cant >= 0.01 ){
        
$cant=$cant-0.01;
        echo 
'index'.$i.': valor'.$cant.'--<br />';
        
    }else{
        echo 
'Temp:'.$cant.'--<br />';
        break;    
    }

las respuestas según las cantidades son

$cant=0.10; //1.04083408559E-17
$cant=0.09; // 0.01 (deberia ser 0)
$cant=0.20; // 0.01 (deberia ser 0)

Sabéis a que se debe este problema y si se puede restar de forma segura
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft