I was recalling a project in perl, which doesn’t have a variety of types. If you add values, you get a scalar, which will be a float if the numbers are not integers.
I am aware my statement isn’t true in several languages
Some programming languages use different rounding method. Might bite you in the ass if you’re not aware of it and using multiple programming language in your application to handle different areas.
If working in currency, work in cents and divide by 100 and round to 2 decimals for output
Yeah round down and transfer the remainder to an account you own.
Indeed, Lex
Most languages have decimal libraries to correctly handle floating point arithmetics, where precision is necessary.
They are as incapable of handling one third of a dollar as binary positional notation is incapable of handling one fifth (0.2).
It’s not really a float problem. It’s a positional notation one. Some perfectly rational numbers refuse to squeeze into that mold.
Also decimal system is not exatcly that much better since you also cant write 1/3 in decimal
If working with currency use types and formating functions appropriate for currency. Not float.
I was recalling a project in perl, which doesn’t have a variety of types. If you add values, you get a scalar, which will be a float if the numbers are not integers.
I am aware my statement isn’t true in several languages
And remember not all currencies are 2dp so get a list and use the appropriate exponent.
I had to update our currency database this week because there’s new currencies. It’s almost as bad as timezones.
Buckshot@programming.dev wake up, new currencies just dropped
Some programming languages use different rounding method. Might bite you in the ass if you’re not aware of it and using multiple programming language in your application to handle different areas.
That’s what I wound up doing on a work project. Works really well.