I have some objects that contain an amount field that is declared as double.
Since it contains amounts, it always has only two decimal digits that are
significant. During the process I need to convert that double into an
integer by removing the decimal point. For example, $78.59 should be
converted to integer 7859 and $101.53 to 10153. in my code I have
uint nIntAmount = (uint)(objMyObject.Amount * 100);
The problem I am facing is that sometimes, very rarely, there is a rounding
error that is introduced and the integer obtained is off by a cent (plus or
minus). For example, this is a line that was traced in my log file:
"Updating the batch with $137.89 as the amount in the transaction. This
amount was converted to 13788."
Can either of you suggest a different way to convert the amounts in integers
without this nagging rounding error?