在SQL Server 2008 R2表中,我有一個類型爲float
的變量。我想爲此存儲937687500。我使用C#應用程序。在SQL Server表中定義float類型
但我存儲的數據之後,我有937687488.
我能做些什麼?
在SQL Server 2008 R2表中,我有一個類型爲float
的變量。我想爲此存儲937687500。我使用C#應用程序。在SQL Server表中定義float類型
但我存儲的數據之後,我有937687488.
我能做些什麼?
這與32位浮點數的性質有關。當你進入真正的高數字時,浮點數將開始失去準確性。如果你改爲64位浮點數,你會得到更高的精度,這將適用於這個特殊數字,但如果你打算插入真正大的數字,我會推薦使用整數。
你可以重新施展你的浮
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
非常感謝 – Fatemeh
非常感謝你。但我怎樣才能變成64位的浮點數。我無法在sql中找到它。在數量字段屬性大小爲8,禁用 – Fatemeh
我會建議看看http://stackoverflow.com/a/626904/6623706。您要更改的數據類型是_real_ – abydal
非常感謝。我將其改爲真實的,但在數據庫商店1.766554E + 10中有價值。這是科學數字。你可以幫我嗎? – Fatemeh