title: linq to sql strange float behaviour
body: <p>I have a problem with a double (TaxRate here), that do not have the same value when it pass through functions:</p>
  
  <p>I first call a function</p>
  
  <pre><code>DataContext.UpdateCategory(theCategorie.Code, theCategorie.Description, theCategorie.TaxRate, theCategorie.TaxCode);
  </code></pre>
  
  <p>When I run the debugger the value of TaxRate is <strong>19.6</strong></p>
  
  <p>Then when I put a stop point in the dbml function that is called:</p>
  
  <pre><code> [Function(Name="dbo.UpdateCategory")]
   public int UpdateCategory([Parameter(Name="Code", DbType="VarChar(20)")] string code, [Parameter(Name="Description", DbType="NVarChar(512)")] string description, [Parameter(Name="TaxRate", DbType="Float")] System.Nullable&lt;double&gt; taxRate, [Parameter(Name="TaxCode", DbType="NChar(10)")] string taxCode)
   {
       IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), uNSPSC, description, taxRate, taxCode);
       return ((int)(result.ReturnValue));
   }
  </code></pre>
  
  <p>here the value is <strong>19.6000003814697</strong>. You see the strange added decimal? there are no operations between these two calls, so why these decimals appears?</p>