您的位置 首页 > 腾讯云社区

qDebug避免科学计数法打印---Qt君

❝qDebug会将浮点型超过一百万的数打印为科学计数法,该如何解决它呢? ❞

double d = 1000000; qDebug() << d;

输出:

1e+06

  由于qDebug底层使用QTextStream打印数据,而QTextStream可以设置输出的格式为科学计数法。qDebug不提供设置浮点型数据输出为定点记数法,只能通过其他方式解决。

先转为QString再打印接口:static QString number(double, char f='g', int prec=6); 例子:double d = 1000000; qDebug() << QString::number(d, 'f', 0); /* 第三个参数位,保留小数的位数 */ 输出:1000000 使用QTextStream通过设置setRealNumberNotation的FixedNotation模式强制定点记数法。double d = 1000000; QString str; QTextStream s(&str); s.setRealNumberNotation(QTextStream::FixedNotation); /* 使用固定模式 */ s.setRealNumberPrecision(0); /* 保留0位小数 */ s << d; qDebug() << str; 输出:1000000 ---来自腾讯云社区的---Qt君

关于作者: 瞎采新闻

这里可以显示个人介绍!这里可以显示个人介绍!

热门文章

留言与评论(共有 0 条评论)
   
验证码: