title: C# How to format a double to one decimal place without rounding
body: <p>I need to format a double value to one decimal place without it rounding.</p>
  
  <pre><code>double value = 3.984568438706
  string result = "";
  </code></pre>
  
  <p>What I have tried is:</p>
  
  <p>1)</p>
  
  <pre><code>result = value.ToString("##.##", System.Globalization.CultureInfo.InvariantCulture) + "%"; 
  // returns 3.98%
  </code></pre>
  
  <p>2)</p>
  
  <pre><code>result = value.ToString("##.#", System.Globalization.CultureInfo.InvariantCulture) + "%"; 
  // returns 4%
  </code></pre>
  
  <p>3)  </p>
  
  <pre><code> result = value.ToString("##.0", System.Globalization.CultureInfo.InvariantCulture) + "%"; 
   // returns 4.0%
  </code></pre>
  
  <p>4) (Following other suggestions)</p>
  
  <pre><code>value = (value / 100);
  result = String.Format("{0:P1}", Math.Truncate(value * 10000) / 10000);
  // returns 4.0%
  
  result = string.Format("{0:0.0%}",value); // returns 4.0%
  </code></pre>
  
  <p>What I need to display is the value 3.9%</p>
  
  <p>Thanks for any help in advance.</p>