more useful options PerlMonks

### Re^2: Simple addition/subtraction not working

by JavaFan (Canon)
 on Dec 02, 2011 at 00:33 UTC ( #941203=note: print w/replies, xml ) Need Help??

Don't make the assumption every currency has cents. Some currencies use mills, some don't have subunits, some don't have mills, but they do have mill prices (pumped gas lately?), and some (digital only) currencies use 5 digits after the decimal point.
• Comment on Re^2: Simple addition/subtraction not working

Replies are listed 'Best First'.
by BrowserUk (Pope) on Dec 02, 2011 at 00:55 UTC

Even with 5 decimal digits, a 64-bit int can represent 184 trillion, which in dollars is roughly 3 times the entire worlds gross domestic product for 2010. Should be good enough for the average Internet reseller for a few years.

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

The start of some sanity?

Sure, but my point wasn't that it wouldn't fit in a 64-bit int (or even a 32-bit int). It's that "just work in cents" may be interpreted by "multiply by 100; do your arithmetic; divide by 100". That works if your currency is dollars or euros, and you're dealing with grocery prices. It doesn't get you out of the floating point numbers if you have amounts in mills. (And if you do "multiply by 100, round to nearest integer", you will be working with integers even if the amounts where in mills, but your results are likely to be off).

Just want to make people aware that "just work with cents" may in some cases a tad less simple that multiplying by 100.

Even with 5 decimal digits, a 64-bit int can represent 184 trillion, which in dollars is roughly 3 times the entire worlds gross domestic product for 2010. Should be good enough for the average Internet reseller for a few years.
But those nice Nigerian bankmanagers who always propose me such lucrative deals, will run into problems and may in the end miss a few dollars left or right in their vaults. ;)

CountZero

A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

Create A New User
Node Status?
node history
Node Type: note [id://941203]
help
Chatterbox?
 [robby_dobby]: Likewise! I haven't seen a lot of people with HAs back where I come from, so I figured it might be the same around here too... [robby_dobby]: Oh, shit -- I was replying to someone, but it wound up here. -_- robby_dobby is still not used to PM's interface. /o\

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (15)
As of 2017-11-17 19:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
In order to be able to say "I know Perl", you must have:

Results (272 votes). Check out past polls.

Notices?