我在T-SQL数据库中有一个由实际值组成的列,但是当我将其转换为double时,我得到的东西与存储的不同。
例如,我选择一行 1.15 存储。当我将其转换为:
Convert.ToDouble(reader["VAT"]);
我明白了:
1,14999997615814
为什么呢?如何将真实转换为双倍并获得相同的值?
答案 0 :(得分:1)
尝试将列的数据类型从real
更改为float
。如果您访问此link,您会注意到float
SQL Server数据类型映射到Double
,Nullable<Double>
CLR类型。另一方面,real
SQL Server数据类型映射到Single
,Nullable<Single>
CLR类型。我怀疑那是你的问题。