Re: Precision

*To*: mathgroup at smc.vnet.net*Subject*: [mg129354] Re: Precision*From*: Andrzej Kozlowski <akozlowski at gmail.com>*Date*: Mon, 7 Jan 2013 00:38:54 -0500 (EST)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*Delivered-to*: l-mathgroup@wolfram.com*Delivered-to*: mathgroup-newout@smc.vnet.net*Delivered-to*: mathgroup-newsend@smc.vnet.net*References*: <20130105071925.AC08868CA@smc.vnet.net>

On 5 Jan 2013, at 08:19, Rob Ryan <tio540s1 at gmail.com> wrote: > My frustration is growing. I simply want to add (for example): > 103971.66+52282.64+2998.27. These are dollars and cents and I'd like to keep the cents. But when I input that line, I get 159923. When I input: N[(103971.66+52282.64+2998.27),20] I STILL get 159923. What do I do to get 159952.57? I've used "SetPrecision", etc. with still no result. > I note that when I type 103971.66 and hit shift-return, the output is 103972. If I then type "InputForm[%]" I get 103971.66. > > There simply has to be an easy way to add these numbers - any calculator watch can do it! In this case you can simply use NumberForm: NumberForm[103971.66 + 52282.64 + 2998.27, 8] 159252.57 However, this approach will not always work (to understand why you have to first understand that Mathematica's approximate reals are not what you probably think they are) A much more reliable way is to do such computations using exact numbers. This will never give you a wrong answer: QuotientRemainder[10397166 + 5228264 + 299827, 100] {159252, 57} If you don't like this, you would be better off using a calculator watch. Andrzej Kozlowski

**Follow-Ups**:**Re: Precision***From:*Murray Eisenberg <murray@math.umass.edu>

**References**:**Precision***From:*Rob Ryan <tio540s1@gmail.com>