【发布时间】:2010-10-12 08:53:39
【问题描述】:
我正在开发一个 java 应用程序,使用双精度类型来保存单价、数量等的值。我发现在 MSSQL 中显示的一些值是 NAN 并抛出 当我尝试重用它时出现无限错误。这太不合理了,我可以保存它但不能再使用它了!我认为 MSSQL 中的 NAN 值在它第一次出现在 java 中时必须是有效的,所以我可以保存。如何以及何时这个问题发生了吗?
【问题讨论】:
标签: java sql-server nan
我正在开发一个 java 应用程序,使用双精度类型来保存单价、数量等的值。我发现在 MSSQL 中显示的一些值是 NAN 并抛出 当我尝试重用它时出现无限错误。这太不合理了,我可以保存它但不能再使用它了!我认为 MSSQL 中的 NAN 值在它第一次出现在 java 中时必须是有效的,所以我可以保存。如何以及何时这个问题发生了吗?
【问题讨论】:
标签: java sql-server nan
NaN 值通常是除以零的结果 - 这将是我要检查的第一件事。
【讨论】:
您应该切勿使用 double 或 float 来存储价格。请改用十进制。 Double 和 float 数据类型并不是很精确。
FLOAT 和 REAL 数据类型都是用于浮点数值数据的近似数字数据类型。浮点数据是近似的;并非数据类型范围内的所有值都可以精确表示。
【讨论】: