2011-04-18 69 views
2

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

当我保存DB x的值,它被存储为1234600000. 当我做程序减法运算,它越来越被视为1234600000. 你可以帮我明白了什么正在那里?

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

在此先感谢。

+0

“当我在DB中保存x的值”?什么数据库? – EboMike 2011-04-18 22:38:27

+0

DB是Oracle 10g。 – Upendra 2011-04-18 22:40:29

回答

2

它看起来像你的double正在转换或从浮动(读取:失去精度)沿线的某处。花车只有大约6-7个有效数字的IIRC,而不是十几个双打。