2016-10-22 168 views
1

在SQL Server 2008 R2表中,我有一個類型爲float的變量。我想爲此存儲937687500。我使用C#應用程序。在SQL Server表中定義float類型

enter image description here

但我存儲的數據之後,我有937687488.

我能做些什麼?

回答

0

這與32位浮點數的性質有關。當你進入真正的高數字時,浮點數將開始失去準確性。如果你改爲64位浮點數,你會得到更高的精度,這將適用於這個特殊數字,但如果你打算插入真正大的數字,我會推薦使用整數。

+0

非常感謝你。但我怎樣才能變成64位的浮點數。我無法在sql中找到它。在數量字段屬性大小爲8,禁用 – Fatemeh

+0

我會建議看看http://stackoverflow.com/a/626904/6623706。您要更改的數據類型是_real_ – abydal

+0

非常感謝。我將其改爲真實的,但在數據庫商店1.766554E + 10中有價值。這是科學數字。你可以幫我嗎? – Fatemeh

0

你可以重新施展你的浮

Declare @F float = 937687500 

Select AsFloat = cast(@F as varchar(25)) 
     ,AsInt = cast(cast(@F as int) as varchar(25)) 
     ,AsDec = cast(cast(@F as decimal) as varchar(25)) 
     ,AsNum = cast(cast(@F as numeric) as varchar(25)) 

返回

AsFloat   AsInt  AsDec  AsNum 
9.37688e+008 937687500 937687500 937687500 
+0

非常感謝 – Fatemeh

相關問題