title: format number with 3 trailing decimal places, a decimal thousands separator, and commas after that
body: <p>This is probably a simple question, and I'm sure there's a way to do it with <code>string.format()</code>, <code>NumberFormatInfo</code>, <code>CultureInfo</code> or some combination of them, but I need to display large numeric values with 3 trailing decimal places, a decimal instead of a comma for the thousands separator, and then a comma for the millions separator and up.  </p>
  
  <p>The input is either a whole number or a number followed by up to three decimal places (20000, 123.456, 12.2)</p>
  
  <p>For example:  </p>
  
  <p>142650  should display as 142,650.000</p>
  
  <p>11200.50 should display as 11,200.500</p>
  
  <p>123.456 should remain 123.456</p>
  
  <p>I suppose it's the same as dividing the value by 1000 and then using <code>string.format("{0:f3}", value)</code>, but I was hoping to find something that didn't take arithmetic.</p>
  
  <p><code>String.Format("{0:#,#.000}", value)</code> gets me close, but it puts a leading 0 on small numbers, so 1.256 is displaying as 01.256, when I need it to remain just 1.256</p>