{"id":75,"date":"2009-06-27T17:16:34","date_gmt":"2009-06-27T15:16:34","guid":{"rendered":"http:\/\/wenzlaff.de\/cgi-bin\/weblog_basic\/index.php?p=75"},"modified":"2021-11-22T17:17:04","modified_gmt":"2021-11-22T16:17:04","slug":"regel-bigdecimal","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=75","title":{"rendered":"Regel: BigDecimal"},"content":{"rendered":"<p>Heute eine wichtige Regel, die h\u00e4ufig nicht angewendet wird und nicht nur zu Cent Abweichungen f\u00fchren kann.<\/p>\n<p>Nutze <strong>nie<\/strong> <code>float <\/code>oder <code>double<\/code> f\u00fcr<!--more--> Berechnungen die eine genaue Berechnung erfordern. Nutze nur <code>BigDecimal<\/code>.<\/p>\n<p>Hier ein kleines Beispiel. Wir sparen an 10 Tagen 0.10 Cent. Wie gro\u00df ist das Guthaben?<\/p>\n<p><code>public static void main(String[] args) {<\/p>\n<p>\t\tdouble preis = .10;<br \/>\n\t\tdouble guthaben = 0;<\/p>\n<p>\t\tfor (int i = 0; i < 10; i++) {\n\t\t\tguthaben += preis;\n\t\t}\n\t\t\/\/ 10 Teile a 0.10 Cent =\n\/\/<strong> 0.9999999999999999 -> RUNDUNGSDIFFERENZEN<\/strong><br \/>\n\t\tSystem.out.println(\"Guthaben=\" + guthaben);<\/p>\n<p>\t\t\/\/ Genauer mit BigDecimal:<br \/>\n\t\tfinal BigDecimal PREIS = new BigDecimal(\".10\");<br \/>\n\t\tBigDecimal genauesGuthaben = new BigDecimal(\"0\");<\/p>\n<p>\t\tfor (int i = 0; i < 10; i++) {\n\t\t\tgenauesGuthaben = genauesGuthaben.add(PREIS);\n\t\t}\n\t\t\/\/ Ohne rundungs Differenzen genau <strong>1.00<\/strong><br \/>\n\t\tSystem.out.println(\"Genaues Guthaben=\" + genauesGuthaben);<br \/>\n\t}<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Heute eine wichtige Regel, die h\u00e4ufig nicht angewendet wird und nicht nur zu Cent Abweichungen f\u00fchren kann. Nutze nie float oder double f\u00fcr<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[5],"tags":[22,122,131,141,173],"class_list":["post-75","post","type-post","status-publish","format-standard","hentry","category-java","tag-bigdecimal","tag-double","tag-float","tag-item-58","tag-regel"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/75","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=75"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/75\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=75"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=75"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=75"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}