See this code:
When I see my console in Firefox 3.5, the value of jsonParsed
is the number rounded:
Object id=714341252076979100 type=FUZZY
Tried different values, the same outcome (number rounded).
I also don't get its rounding rules. 714341252076979136 is rounded to 714341252076979200, whereas 714341252076979135 is rounded to 714341252076979100.
Why is this happening?
What you're seeing here is actually the effect of two roundings. Numbers in ECMAScript are internally represented double-precision floating-point. When id
is set to 714341252076979033
(0x9e9d9958274c359
in hex), it actually is assigned the nearest representable double-precision value, which is 714341252076979072
(0x9e9d9958274c380
). When you print out the value, it is being rounded to 15 significant decimal digits, which gives 14341252076979100
.