title: StringBuilder.Append with float
body: <p><code>StringBuilder.Append</code> using <code>float</code> is truncating the value.  What is it converting to and how can I stop it from truncating?</p>
  
  <p><code>AttributeOrder</code> is type <code>float</code> and I am losing precision when building the string.</p>
  
  <pre><code>if ( AttributeOrder != 0 ) 
  { 
      if ( Result.Length &gt; 0 ) 
      { 
          Result.Append( " AND " ); 
      } 
      Result.Append( COLUMN_ATTRIBUTE_ORDER ); 
      Result.Append( "=" ); 
      Result.Append( AttributeOrder ); 
  } 
  </code></pre>
  
  <p>EDIT: This is legacy code, I cannot change the underlying datatypes. The column in SQL Server is a real and the datatype is <code>float</code>.  I need to present the <code>float</code> as it is filled, as a string for other purposes and not loose precision as is.</p>