MSSQL 中浮点字段中的 NaN 值

发布于 2024-07-14 23:39:33 字数 163 浏览 5 评论 0原文

我正在开发一个java应用程序,使用双精度类型来保存单价、数量等的值。我发现MSSQL中显示的一些值是NAN并抛出异常 当我尝试重用它时出现无限错误。这太不合理了,我可以保存它,但不能再使用它了!我认为MSSQL中的NAN值在它第一次出现在java中时必须是有效的,所以我可以保存。如何以及何时这个问题发生吗?

I'm working on a java application,use double type to save value of unitprice,qty etc.I found some of these values show in MSSQL are NAN and throws
infinite error when I try to reuse it.This is so unreasonable,I can save it but can not use it anymore!I think the NAN value in MSSQL must be valid when it first presence in java,so i can save.How and when this issue happen?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

最后的乘客 2024-07-21 23:39:33

您不应该永远使用 double 或 float 来存储价格。 请改用十进制。
双精度和浮点数据类型并不是非常精确。

FLOAT 和 REAL 数据类型都是与浮点数值数据一起使用的近似数字数据类型。 浮点数据是近似值; 并非数据类型范围内的所有值都可以精确表示。

You should never use double or float to store prices. Use Decimal instead.
Double and float datatypes are not really precise.

FLOAT and REAL data types are both approximate number data types for use with floating point numeric data. Floating point data is approximate; not all values in the data type range can be precisely represented.

耳根太软 2024-07-21 23:39:33

NaN 值通常是除以零的结果 - 这将是我要检查的第一件事。

NaN values are often the result of dividing by zero - this would be the first thing I'd check for.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文