Yes, I agree this page is misleading. It makes it look like C# is using rational numbers instead of floating point. In fact the &quot;G&quot; format defaults to 15 digits of precision for doubles, which is few enough to avoid ugly strings in many simple situations, but not all:<p>&gt; Console.WriteLine((.1 + .2)-.3);
&gt; Result: 5.55111512312578E-17