From: FAQ server on
-----------------------------------------------------------------------
FAQ Topic - Why does simple decimal arithmetic give strange
results?
-----------------------------------------------------------------------

For example, ` 5 * 1.015 ` does not give exactly
` 5.075 ` and ` 0.06+0.01 ` does
not give exactly ` 0.07 ` in javascript.

ECMAScript numbers are represented in binary as IEEE-754 (IEC 559)
Doubles, with a resolution of 53 bits, giving an accuracy of
15-16 decimal digits; integers up to just over ` 9e15 ` are
precise, but few decimal fractions are. Given this, arithmetic
is as exact as possible, but no more. Operations on integers
are exact if the true result and all intermediates are integers
within that range.

In particular, non-integer results should not normally be
compared for equality; and non-integer computed results
commonly need rounding; see

http://jibbering.com/faq/#formatNumber

http://msdn.microsoft.com/en-us/library/7wkd9z69%28VS.85%29.aspx

http://www.merlyn.demon.co.uk/js-misc0.htm#DW4

Otherwise, use ` Math.round ` on the results of expressions which
should be of integer value.


The complete comp.lang.javascript FAQ is at
http://jibbering.com/faq/

--

The sendings of these daily posts are proficiently hosted
by http://www.pair.com.

From: Dr J R Stockton on
In comp.lang.javascript message <4bb2827f$0$286$14726298(a)news.sunsite.dk
>, Tue, 30 Mar 2010 23:00:03, FAQ server <javascript(a)dotinternet.be>
posted:
>
>Otherwise, use ` Math.round ` on the results of expressions which
^ non-integer
>should be of integer value.

or "floating-point"? Choice of wording should be with awareness of
Boolean expressions.


The Opera 10.51 winter getTimezoneOffset fault has been seen in
Bulgaria.

--
(c) John Stockton, nr London UK. ?@merlyn.demon.co.uk Turnpike v6.05 MIME.
Web <URL:http://www.merlyn.demon.co.uk/> - FAQish topics, acronyms, & links.
Proper <= 4-line sig. separator as above, a line exactly "-- " (RFCs 5536/7)
Do not Mail News to me. Before a reply, quote with ">" or "> " (RFCs 5536/7)