sqlserverdouble
⑴ sql Server中double数据类型
SQL
Server没有double类型,若是你需要用双精度数据,如果不固定小数位,用float就可以了;
若是固定小数位,可以用numric;如果整数和小数都出现,可以用real
⑵ sqlserver浮点数float转换成double,怎么解决
类型 比特数 有效数字 数值范围
float 32 6-7 -3.4*10(-38)~3.4*10(38)
double 64 15-16 -1.7*10(-308)~1.7*10(308)
long double 128 18-19 -1.2*10(-4932)~1.2*10(4932)
简单来说,Float为单精度,内存中占4个字节,有效数位是7位(因为有正负,所以不是8位),在我的电脑且VC++6.0平台中默认显示是6位有效数字;double为双精度,占8个字节,有效数位是16位,但在我的电脑且VC++6.0平台中默认显示同样是6位有效数字(见我的double_float文件)
还有,有个例子:在C和C++中,如下赋值语句
float a=0.1;
编译器报错:warning C4305: 'initializing' : truncation from 'const double ' to 'float '
原因:
在C/C++中(也不知道是不是就在VC++中这样),上述语句等号右边0.1,我们以为它是个float,但是编译器却把它认为是个double(因为小数默认是double),所以要报这个warning,一般改成0.1f就没事了。
通常的做法,经常使用double,而不喜欢使用float。
⑶ SQL取出的数据要转换成小数 SQLServer里的数据时小数的但是用c#double类型取出的数据就是整数的,如何解决
用math.round()
⑷ SQL取出的数据要转换成小数 SQLServer里的数据时小数的但是用c#double类型取出的数据就是整数的,如何解决
恩,从数据库里取出的值,如果做了乘或除是会变成整数的,在你的SQL语句中不妨做一下处理,就是把你查出的结果用round()这个方法处理一遍,或str()处理,这两个方法是在sql语句中写的,具体用法,你可以查一下,网上有很多。
⑸ sql导入数据时导入的数据是整数为什么系统总说是double型
取决于sqlserver 表里的数据类型,如果字段类型是int肯定没法保留前边的0,可以将字段类型设置为varchar类型就可以保留Excel中的本来的值
⑹ 请教如何在SQLSERVER里面存储List<double>型的数据
decimal[ (p[ , s] )] 和 numeric[ (p[ , s] )]
1 <= p <= 38,0 <= s <= p
即最大是 decimal(38,38),decimal 默认是 decimal(18,0),decimal 和 numeric 是等价的
⑺ sqlserver怎么把小数点后面多余的0去掉
这要看你使用的是什么数据类型了,如果是float或者double,需要使用t-sql或者高级语言的函数来去掉多余的0。