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。