<?php
  // cas des nombres réels ayant un partie décimale infinie
  // calcul en utilisant des variables intermédiaires
  $x=0.1+0.7 ;
  $y=$x*10;
  $correction=1e-15;
  $z_sans_correct=floor($y);
  $z_avec_correct=floor($y+$correction);
  echo '$x = (0.1+0.7) = '.$x."\n";
  echo '$y = $x*10     = '.$y."\n";
  echo '$z = floor($y) sans correction='.$z_sans_correct."\n";
  echo '$z = floor($y) avec correction='.$z_avec_correct."\n";  
  // calcul direct, sans correction : FAUX
  $t=floor((0.1+0.7)*10) ;  
  echo 'floor((0.1+0.7)*10) = '.$t."\n"; 
?>
