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

  

 

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM