找回密码
 注册
查看: 958|回复: 10

QT中如何计算数据?

[复制链接]
发表于 2005-5-17 19:44:13 | 显示全部楼层 |阅读模式
我如果想在一个lineedit中输入一个数字,(可能是小数),希望经过计算之后在另一个lineedit中输出,我该用哪个类呢?好像lineedit默认是QString,怎么办呀?~>_<~
发表于 2005-5-17 19:54:40 | 显示全部楼层
这个只能自己解析这个QString,你可以查看QT帮助里的Overview的第一个例子
回复

使用道具 举报

发表于 2005-5-17 19:59:18 | 显示全部楼层
hehe, QString provide a lot of transfer method. how about this:

        QString s1;
        s1.setNum(0.35);

        bool ok;
        double t1 = 5.0 * s1.toDouble(&ok);
        if(ok){
                s1.setNum(t1);
        }
回复

使用道具 举报

发表于 2005-5-19 19:09:51 | 显示全部楼层

这是一个很好的例子

推荐,这是一个特经典的QT的例子

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2005-5-20 13:09:07 | 显示全部楼层
[code:1]
QString strNum = "168";
bool ok;
int value = strNum.toInt(&ok);
if(ok)
    printf("value: %d\n", value);
else
    printf("conversion failed\n");
[/code:1]

[code:1]
int value = 888;
QString strNum = QString::number(value);
/*
see assistant, followings have same effect as above
strNum.sprintf("%d", value);
strNum = QString("%1").arg(value);
*/
[/code:1]
回复

使用道具 举报

 楼主| 发表于 2005-5-20 20:10:51 | 显示全部楼层
我已经解决了,呵呵,谢谢各位大侠了!呵呵!*^_^*
回复

使用道具 举报

发表于 2005-5-21 00:49:10 | 显示全部楼层
我这样可以吗?:
Qstring text =lineedit->text();
int W=(windth->text()).toInt();   
我想问一下。toInt可以改为TO其它吧?
回复

使用道具 举报

 楼主| 发表于 2005-5-21 10:19:19 | 显示全部楼层
我不是这样做的,我是用 double a = atof(lineedit->text)就可以直接转换了!
回复

使用道具 举报

发表于 2005-5-21 10:59:21 | 显示全部楼层
[quote:3724523834="zt_apple"]我不是这样做的,我是用 double a = atof(lineedit->text)就可以直接转换了![/quote]

这样做不好, 如果你输入abc, 还是可以转换, 但是结果是 错的。

建议用
[code:1]
bool ok;
lineedit->text().toDouble(&ok);
然后判断 ok, 来知道是否转换成功。
[/code:1]
回复

使用道具 举报

 楼主| 发表于 2005-5-21 13:48:24 | 显示全部楼层
明白了,呵呵,还有一个帖子呢?你没有看见短信吗?
回复

使用道具 举报

发表于 2005-5-22 10:58:39 | 显示全部楼层
[quote:58ecab9e84="zt_apple"]明白了,呵呵,还有一个帖子呢?你没有看见短信吗?[/quote]
, 我找找看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-2-8 15:24 , Processed in 0.025413 second(s), 17 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表