原因就是 :
Excel 的型態為數值超出整數範圍 -2147483648 ~ 2147483647
先改以浮點數儲存成科學記號的浮點數數值 3.3241542558499E15
再轉成nvarchar(16)
不過因為長度超過16, E後面的指數被砍掉了
結果就是你所看到的 3.3241542558499E
改善方式 :
儲存格型態改成 flaot 或者 bigint
如果堅持nvarchar, 先增加nvarchar長度取得完整的浮點數資料後
依你的例子來說:寫段程式將 3.3241542558499 x 1000000000000000後
再存進nvarvhar !
darwin0616已經跟你說的很明白了。
我就大略說一下數值位數。
其實最基本的位數計算,最簡易的計算是需要將設定位數至少要再扣一個位數。
這個位數其實就是+-號的值。
所以16位數的欄位,實際上只能容許15位數。