zoukankan      html  css  js  c++  java
  • Qt double类型输出问题

    一、示例

    double dd = 587654367 * 0.001;
    
    qDebug() << "1 --> " << QString::number(dd);
    qDebug() << "2 --> " << QString::number(dd, 'f', 6);

      输出结果:

        

      由此可见QString::number()默认只输出6位,若想要后面的数提高输出位数即可

      查看QString::number()函数,该函数定义如下:    

        static QString number(int, int base=10);
        static QString number(uint, int base=10);
        static QString number(long, int base=10);
        static QString number(ulong, int base=10);
        static QString number(qlonglong, int base=10);
        static QString number(qulonglong, int base=10);
        static QString number(double, char f='g', int prec=6);

      这是一个重载成员函数,它们的行为基本相同。根据fmt指定的格式

        第一个参数被格式化

        g为默认选用参数并且可用下列替换:

          e - 格式化为[-]9.9e[+|-]999

          E - 格式化为[-]9.9E[+|-]999

          f - 格式化为[-]9.9

          g - 使用e或f格式,看哪一个更简练

          G - 使用E或f格式,看哪一个更简练

        在所有的情况下,小数点之后数字的个数等于prec指定的精度。

      

     

        

  • 相关阅读:
    最全负载均衡:算法、实现、亿级负载解决方案详解
    淘宝分布式架构演变案例详解
    分布式一致性协议实现原理
    ReentrantReadWriteLock的使用
    线程之单例
    线程的优先级
    java线程的6种状态
    mybatis <foreach> 标签
    java多线程 上下文切换
    docker的复制和挂载
  • 原文地址:https://www.cnblogs.com/jiangson/p/9175371.html
Copyright © 2011-2022 走看看