j'ai la fonction javascript suivante pour arrondir:javascript problème d'arrondi étrange
function round(val, numberdigits){
return Math.round(val*Math.pow(10, numberdigits))/Math.pow(10, numberdigits);
}
Dans la plupart des cas, il fait son travail bien, mais dans certains cas rares, la valeur retournée a un chiffre plus, ce qui est toujours 5.
Exemple liste des résultats avec numberofdigits = 3:
5,329 à 5,081 - 4,271 - 3,271 à 2,1525 - 2,1375 à 2,1225 - 1,997 à 2,044 - 2,031 - 2,028
Quelqu'un peut-il expliquer cela? Ou peut-être me fournir une meilleure fonction d'arrondi qui empêche ce problème?
Avez-vous un exemple de cette valeur d'entrée? – RaYell