title: Default number format for ToString
body: <p>Is it possible to define a default number format that is used whenever I convert an <code>integer</code> (or <code>double</code> etc.) to a <code>String</code> without specifying a format string?</p>
  
  <p>C# example:</p>
  
  <pre class="lang-c# prettyprint-override"><code>int i = 123456;
  
  string s = "Hello " + i;
  // or alternatively with string.Format without format definition
  string s = string.Format("Hello {0}", i);
  </code></pre>
  
  <p>ASP.NET Razor example:</p>
  
  <pre class="lang-html prettyprint-override"><code>&lt;div&gt;
      Hello @i
  &lt;/div&gt;
  </code></pre>
  
  <p>I think all these code lines implicitly use the default <code>ToString()</code> method for <code>Int32</code>. And not surprisingly, all these code lines result in <code>"Hello 123456"</code>, but I want <code>"Hello 123,456"</code>.</p>
  
  <p>So can I specify that <code>"N0"</code> should be used by default (at least for <code>integer</code>)?</p>
  
  <p>I already found the question <a href="https://stackoverflow.com/questions/1389187/set-default-datetime-format-c-sharp">Set Default DateTime Format c#</a> - it looked good, but it doesn't help me for numbers.</p>
  
  <hr>
  
  <p><em><strong>Edit:</strong></em> I'm aware that I could write an extension method which I can use throughout my application, but this is not what I'm looking for. I would like to find a property (maybe somewhere hidden in <code>CultureInfo</code> or <code>NumberFormatInfo</code>) which is currently set to <code>"G"</code> and is used by the default <code>Int32.ToString()</code> implementation.</p>