<p>I always tell in c# a variable of type double is not suitable for money. All weird things could happen. But I can't seem to create an example to demonstrate some of these issues. Can anyone provide such an example?</p>

<p>(edit; this post was originally tagged C#; some replies refer to specific details of <code>decimal</code>, which therefore means <a href="http://msdn.microsoft.com/en-us/library/system.decimal.aspx" rel="noreferrer"><code>System.Decimal</code></a>).</p>

<p>(edit 2: I was specific asking for some c# code, so I don't think this is language agnostic only)</p>

Very, very unsuitable. Use decimal.
```
```
double x = 3.65, y = 0.05, z = 3.7;
Console.WriteLine((x + y) == z); // false
```
```
(example from Jon's page
here
- recommended reading ;-p)