C++ C++;双重数据类型问题 让我们考虑下面的例子。 双x=1234597000.0

C++ C++;双重数据类型问题 让我们考虑下面的例子。 双x=1234597000.0,c++,double,C++,Double,当我将x的值保存为DB时,它存储为1234600000。 当我在程序中执行减法运算时,它被视为1234600000。 你能帮我了解一下那里发生了什么事吗 我的系统是solaris,使用Sun Studio C++(CC)编译器编译程序 提前感谢。您遇到了IEEE浮点编码的陷阱。这个问题经常出现。请参见看起来您的双人间在线路的某个位置被转换为浮点数或浮点数(读取:精度下降)。浮点数只有大约6-7个有效数字IIRC,而双精度浮点数只有十几个。“当我将x的值保存为DB时”?什么数据库?

当我将x的值保存为DB时,它存储为1234600000。 当我在程序中执行减法运算时,它被视为1234600000。 你能帮我了解一下那里发生了什么事吗

我的系统是solaris,使用Sun Studio C++(CC)编译器编译程序


提前感谢。

您遇到了IEEE浮点编码的陷阱。这个问题经常出现。请参见

看起来您的双人间在线路的某个位置被转换为浮点数或浮点数(读取:精度下降)。浮点数只有大约6-7个有效数字IIRC,而双精度浮点数只有十几个。

“当我将x的值保存为DB时”?什么数据库?