• 8960阅读
  • 7回复

[提问]double类型的精度问题 [复制链接]

上一主题 下一主题
离线anubiskong
 

只看楼主 倒序阅读 楼主  发表于: 2011-02-15
比如在任意QSqlQueryModel中,用户在double类型列输入19991.17
显示是正常的小数点2位,但是我把它读到变量中再计算的时候就变成19991.2了
如果数字位数再多点的话,就变成科学计数法了
1.在这种情况下我如何禁用科学计数法?
2.如何控制model中double的小数点精度?




离线XChinux

只看该作者 1楼 发表于: 2011-02-15
看看QSqlQueryModel()里的setData()、data()里是如何处理的,你可以自己重新实现这两个函数,将精度控制住。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线anubiskong

只看该作者 2楼 发表于: 2011-02-15
回 1楼(XChinux) 的帖子
这个我倒是知道,我以前的帖子你给我讲过的,但是我没找到合适的函数,上次的问题我是转换成QString
来解决的(通过number()) ,但是这次我需要读取double到变量,然后把多个double变量相加,但是我在取到他们的时候(用的是 double QVariant::toDouble ( bool * ok = 0 ))就发现他们的精度已经缺失了,除非用toString,但是那样的话就不能计算了....
离线fzx374

只看该作者 3楼 发表于: 2011-02-15
我也关注中……
离线anubiskong

只看该作者 4楼 发表于: 2011-02-15
回 1楼(XChinux) 的帖子
再说,科学计数法怎么办?
离线anubiskong

只看该作者 5楼 发表于: 2011-02-28
自己顶起
离线mylearnhappy
只看该作者 6楼 发表于: 2011-03-04
关注中,我想把QT中的double插入到数据库中去,我执行的标准SQL语句,但是这些浮点,双精度类型的数据都被SQL2000识别成可变字符串,无法插入,我也在想办法改变这些数据结构来插入到SQL2000中
离线mylearnhappy
只看该作者 7楼 发表于: 2011-03-04
虽然用表编辑可以解决插入的问题,可是我想SQL2000与QT中的float,double类型也是可能兼容的
快速回复
限100 字节
 
上一个 下一个