title: Not Storing Decimal Point in SQL Server 2008 R2 Express
body: <p>I am in the UK. I have a Windows 2008 server in Germany with SQL Server 2008 R2 Express installed on it. The regional settings for Windows are set to UK. SQL Server language is set to English. When I run</p>
  
  <pre><code>sp_helplanguage @@LANGUAGE
  </code></pre>
  
  <p>it shows that it is set to</p>
  
  <pre><code>us_english
  </code></pre>
  
  <p>I have numerous tables in the database that have float datatypes in them. When I use SSMS to change one of the float values, if I type in</p>
  
  <pre><code>1234.1234
  </code></pre>
  
  <p>firstly it displays as</p>
  
  <pre><code>1234,1234
  </code></pre>
  
  <p>then when I click off the row to save it, it displays as</p>
  
  <pre><code>12341234
  </code></pre>
  
  <p>The ASP.NET application, that is being served the data via a stored procedure and being put into a double (VB.NET), does a</p>
  
  <pre><code>String.Format("{0:#0.0000}", dMyDouble)
  </code></pre>
  
  <p>This renders as</p>
  
  <pre><code>12341234,0000
  </code></pre>
  
  <p>Needless to say, on my local server (all UK based) all database entered numbers display as I would expect (1234.1234) and .NET formats them as I would expect (1234.1234). I am aware that my European friends use a different notation to us in the UK, but I need the UK format to be output - and more importantly the float in the database!</p>
  
  <p>The fact that .NET is not formatting correctly, I imagine is purely to do with the fact that the number is not storing the accuracy.</p>
  
  <p>I have also played around a bit by using a decimal column (18, 4) and I get a similar outcome. As I type 1234.1234 using the point (.) it replaces with a comma (,). When the row is saved, it saves as</p>
  
  <pre><code>12341234.0000
  </code></pre>