• 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指定的精度。

      

     

        

  • 相关阅读:
    数学前沿
    线性空间引论(第2版)
    例解回归分析(原书第5版)
    随机过程(原书第2版)
    Windows系统服务器IIS7.5 Asp.net支持10万请求的设置方法
    c# HttpClient禁止缓存
    AngularJs 1.5 $location获取url参数
    Net中HttpClient 重试
    C# 内存信息
    EntityFramework Core 封装
  • 原文地址:https://www.cnblogs.com/jiangson/p/9175371.html
Copyright © 2020-2023  润新知