Changes

Line 171: Line 171:  
* Screen displayed web pages are UTF8 (for versions prior to 2.5.1, the deprecated $character_set parameter from conf.php file defines output format).
 
* Screen displayed web pages are UTF8 (for versions prior to 2.5.1, the deprecated $character_set parameter from conf.php file defines output format).
   −
== Les nombres réels, montants et calculs ==
+
== Float numbers, amount and calculation ==
En PHP comme dans d'autres langages (Java par exemple), les données non entières (float, real, double) ne sont pas fiables.
+
With PHP, like other languages (Java for exemple), non integer data (float, real, double) are not reliable for calculation.
Essayer de faire par exemple
+
Try to make for example
 
<source lang="php">
 
<source lang="php">
 
print 239.2 - 229.3 - 9.9;
 
print 239.2 - 229.3 - 9.9;
 
</source>
 
</source>
Vous n'obtiendrez pas zéro mais un nombre très petit en puissance de 10 négative. Si vous obtenez zéro, vous pourrez trouvez d'autres exemples qui ne fonctionnent pas.
+
You wont get zero but a very small decimal number. If you get zero her, you should be able to find other examples that don't work.
Le problème des float est général, une variable résultante de calcul de nombre réels doit SYSTEMATIQUEMENT être nettoyée par la fonction price2num avec le 2eme paramètre renseigné à: 'MU', 'MT' ou 'MS' selon le besoin (voir doc fonction).
+
Problem of float is general, so a variable that is a result of a calculation using decimal numbers must ALWAYS be cleaned using the function '''price2num()''' with the econd parameter to: 'MU', 'MT' or 'MS' depending on need (see description of function).
 
<source lang="php">
 
<source lang="php">
 
print price2num(239.2 - 229.3 - 9.9, 'MT');
 
print price2num(239.2 - 229.3 - 9.9, 'MT');
 
</source>
 
</source>
S'il ne s'agit pas d'un prix sur lequel s'adapte les paramètres MU, MT ou MS, il faut utiliser la fonction '''round()'''.
+
If data manipulated is not an amount, so using MU, MT, MS has no sense, so you must use the function '''round()'''.
    
== Création de tables ==
 
== Création de tables ==