```
float totalAmount = 0;
.
.
.//totalAmount assigned value 1.05 correctly
.
totalAmount  += float.Parse(dataRow["Amt"].ToString()); //where dataRow["Amt"] has value 4.93

```

The answer I get for totalAmount is 5.97999954 instead of 5.98

Why is this happening?