David Biddulph said:
If you were looking at a number of digits smaller than 15, and you don't
want to round to the closest value at the specified number of digits, which
Excel does by default, but instead you wanted to round down or truncate, you
may wish to look at the ROUNDDOWN, FLOOR, or TRUNCATE functions. Excel
help will tell you about them.
However in this case you don't have the number 2179.0089519999972104171 in
the first place, so I think you're out of luck trying to do it all in one
go.
That is not strictly true. If you are careful to avoid MS's "helpful"
fuzzing of the calculations, such as in my code posted at
http://groups.google.com/group/microsoft.public.excel/msg/6efb95785d1eaff5
then you can verify that the value of Excel's result is
2179.008951999997...
RoundDown won't reveal this, because all of Excel's rounding functions
appear to double round, first to 15 figures, and then to the specified
accuracy. VBA does not double round, so the VBA code
a = 1.0198424825731
b = 2136.613241
c = a * b
MsgBox Fix(c * 10 ^ 11) / 10 ^ 11
will dsiplay 2179.00895199999 without the decimal data type.
Most 16 digit numbers can be represented in IEEE double precision.
Presumably MS chose not to display more than 15 digits because not ALL 16
digit numbers are representable, and when you enter say 9007199254740993
(=2^53+1) they would rather explain a displayed value of 9007199254740990
rather than explaining a displayed value of 9007199254740992.
Jerry