Possible Duplicate:
Why is floating point arithmetic in C# imprecise?
Console.WriteLine(0.5f * 2f); // 1
Console.WriteLine(0.5f * 2f - 1f); // 0
Console.WriteLine(0.1f * 10f); // 1
Console.WriteLine(0.1f * 10f - 1f); // 1.490116E-08
Why does 0.1f * 10f - 1f
end up being 1.490116E-08
(0.0000001490116
)?