numbers.js
- Practical uses
Correcting rounding errors and number formatting for shopping cart programs
- Version requirement
JavaScript 1.1
- Functions
twoPlaces(),round(),totals()
JavaScript performs floating point arithmetic a little differently than we might expect; the result is that many of our calculations also come out slightly different than what we expect. The DevEdge Newsgroup FAQ at http://developer1.netscape.com:80/support/faqs/champions/javascript.html#2-2 uses the example 0.119 * 100 = 11.899999. It’s also common to want to display number in terms of dollars and cents. The functions in numbers.js are designed to help with both situations. All three functions included are based on those at http://www.irt.org/script/number.htm maintained by Martin Webb. Figure 6.14 shows ch06\numbers.html loaded.

Figure 6-14. Better looking numbers, thanks to JavaScript
The numbers displayed under the “Two Decimal Places”
heading shows how function twoPlaces() formats
numbers to place them in a dollars and cents format. The other two
headings display the difference between the expression 51.02 - 3.8
both without and with function round() and
totals(), the latter of which is the desired
effect. Example 6.9 shows
numbers.js.
Example 6-9. number.js
1 function twoPlaces(amount) { 2 return (amount == Math.floor(amount)) ? amount + '.00' : 3 ((amount*10 == Math.floor(amount*10)) ? ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access