Convert.ToDouble("4089.90") outputs 40.899,00 why?
<p>Hi everyone I am developing a software that uses number precision, but I have this problem, it happens that when I take a string to convert to double it outputs me with a different culture.</p>

<p>For example I use </p>

<pre><code>Convert.ToDouble("4089.90"); // it outputs 40.899,00
</code></pre>

<p>Is strange cause in my computer it works OK but on the client's PC (with the same culture in regional settings) shows me the latter output. I know I can fix it using </p>

<pre><code>Convert.ToDouble("4089.90", System.Globalization.CultureInfo.InvariantCulture);
</code></pre>

<p>But there is a lot of code in the program using "Convert.ToDouble" and I wouldn't like to change all of it, on the other hand I want to understand why this happens.</p>

<p>Thanks in advance.</p>
