J'ai cette fonction JavaScript:
Contrl.prototype.EvaluateStatement = function(acVal, cfVal) { var cv = parseFloat(cfVal).toFixed(2); var av = parseFloat(acVal).toFixed(2); if( av < cv) // do some thing }
Quand je compare les nombres flottants av=7.00
et cv=12.00
le résultat de 7.00<12.00
est false
!
Quelques idées pourquoi?
ToFixed renvoie une chaîne, et vous comparez les deux chaînes résultantes. Lexiquement, le 1 en 12 vient avant les 7, donc 12 <7.
Je suppose que vous voulez comparer quelque chose comme:
(Math.round(parseFloat(acVal)*100)/100)
Qui se déroule à deux décimales