在SQL Server表中定义浮点类型

时间:2016-10-22 08:25:30

标签: c# sql-server sql-server-2008-r2

我在SQL Server 2008 R2表中有一个类型为float的变量。我想存储937687500。我使用的是C#应用程序。

enter image description here

但在我存储数据后,我有937687488。

我该怎么办?

2 个答案:

答案 0 :(得分:0)

这与32位浮点数的性质有关。当您进入非常高的数字时,浮点数将开始失去准确性。如果你改为64位浮点而你将获得更高的精度,这将适用于这个特定数字,但如果你打算插入非常大的数字,我会建议使用整数。

答案 1 :(得分:0)

你可以重新投射你的浮动

hTextView.animateText(hms);

返回

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))