I have a string X with value 2.26
when I parse it using float.Parse(X) ..it returns 2.2599999904632568. Why so? And how to overcome this ?
But if instead I use double.Parse(X) it returns the exact value, i.e. 2.26.
EDIT: Code
float.Parse(dgvItemSelection[Quantity.Index, e.RowIndex].Value.ToString());
Thanks for help
This is due to limitations in the precision of floating point numbers. They can’t represent infinitely precise values and often resort to approximate values. If you need highly precise numbers you should be using
Decimalinstead.There is a considerable amount of literature on this subject that you should take a look at. My favorite resource is the following