En divisant par 1000, je rencontre parfois un bug qui ne fait pas la division "correctement". Par exemple, en divisant 90,55 par 1000 au lieu d'obtenir .09055, j'obtiens .090549999999.Pourquoi la division JSP/JSTL par 1000 donne-t-elle parfois un reste?
<c:out value="${bean.paPrice/1000}" />
Pourquoi cela se produit-il? Est-ce le résultat d'un calcul en virgule flottante? Une recherche google a semblé indiquer que cela pouvait être un coupable, mais je n'ai trouvé aucune réponse concrète. Pour résoudre ce problème, je peux arrondir la réponse à 5 chiffres, mais il semble que ce soit juste un patch pour un problème plus profond.
<fmt:formatNumber type="number" maxFractionDigits="5" value="${bean.paPrice/1000}" />
Dupliquer: http://stackoverflow.com/questions/327544/strange-floating-point-behaviour-in-a-java-program –
Voir aussi http://stackoverflow.com/questions/322749/retain-precision -avec double-en-java –