لماذا تقسيم JSP / JSTL بحلول عام 1000 في بعض الأحيان تعطي الباقي؟
-
05-07-2019 - |
سؤال
عند قسمة 1000 I وقت تشغيل عبر الخلل الذي لا يفعل تقسيم "بشكل صحيح". على سبيل المثال، عند تقسيم 90.55 بحلول عام 1000 بدلا من الحصول على 0.09055 أحصل 0،090549999999.
<c:out value="${bean.paPrice / 1000}" />
لماذا يحدث هذا؟ هل هذا نتيجة العائمة الرياضيات النقطة؟ يبدو جوجل للبحث تشير إلى أن هذا قد يكون المذنب، ولكن لم أجد أي إجابة محددة.
لإصلاح هذه يمكنني جولة الإجابة على 5 أرقام، ولكن يبدو أن هذا هو مجرد تصحيح لمشكلة أعمق.
<fmt:formatNumber type="number" maxFractionDigits="5" value="${bean.paPrice / 1000}" />
المحلول
وانها ليست مشكلة، انها مجرد نتيجة طبيعية لتمثيل ثنائي النقطة العائمة. جولة قيمك ولا تقلق بشأن ذلك.
نصائح أخرى
لماذا لا تمتص أجهزة الكمبيوتر في الرياضيات؟
نعم، هذا هو الفاصلة العائمة شكل القضية.
لا تنتمي إلى StackOverflow