我在英国。我在德国安装了Windows 2008服务器,并安装了SQL Server 2008 R2 Express。 Windows的区域设置被设置为英国。 SQL Server语言设置为英语。当我运行在SQL Server 2008 R2 Express中不存储小数点
sp_helplanguage @@LANGUAGE
它表明,它被设置为
us_english
我在数据库中有大量的表有在其中浮动的数据类型。当我使用SSMS来改变浮点值之一,如果我在
1234.1234
键入首先,它显示为
1234,1234
然后当我点击关闭该行保存它,它会显示为
12341234
的ASP.NET应用程序,正被经由一个存储过程所服务的数据并且被放入双(VB.NET),做了
String.Format("{0:#0.0000}", dMyDouble)
这使得作为
12341234,0000
不用说,我的本地服务器(基于所有英国)上的所有数据库中输入的号码显示为我期望(1234.1234)和.NET格式化他们为我所期望的( 1234.1234)。我知道我的欧洲朋友在英国使用不同的符号给我们,但我需要输出英国格式 - 更重要的是数据库中的浮点数!
.NET不能正确格式化的事实,我想纯粹是为了处理数字不存储准确性的事实。
我也使用了一个小数列(18,4),并得到了类似的结果。当我使用点(。)键入1234.1234时,它将替换为逗号(,)。当行保存,保存为
12341234.0000
谢谢@Remus。这个问题与我通过SMSS直接输入有关,所以设置语言不成问题。作为文本传递的值也不是问题。 – TechyGypo 2012-07-19 15:05:45