C#double可以表示SQL Server float不能表示哪些特定值?

时间:2010-12-23 18:31:18

标签: c# sql-server

当我将C#double传递给SQL Server float参数时,我收到错误。我知道我发送的是SQL Server float无法表示的值,但我无法弄清楚它是哪一个。所以,我的问题是C#double可以表示SQL Server float不能表示什么值?

2 个答案:

答案 0 :(得分:4)

IIRC SQL Server不支持值 NaN PositiveInfinity NegativeInfinity 。您可以使用方法 Double.IsNaN(...) Double.IsInfinity(...)来检查。

不要使用==进行检查,因为这些特殊值永远不会等于任何其他值,甚至不是自己(例如NaN != NaN)。

答案 1 :(得分:0)

double和float是相同的数据类型。我认为你的错误可能是另一个问题的次要问题。也许你的参数没有正确传递?检查数据流中传递的参数的实际值。