首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

Qt double 轉 QString 並指定精度:QString::number() 完整用法

     編輯:關於C++

QString::number() 靜態函數

QString QString::number(double n, int base = 10, char format = 'g', int precision = 6)

常用簡化形式(三參數):

QString::number(double n, int base, int precision)

參數說明

參數意義範例
n欲轉換的 double 數值3.14159
base基數(10=十進位, 2=二進位, 16=十六進位)10
precision有效位數(format='g') 或 小數位數(format='f'/'e')4

實際範例

double value = 123.456789;
QLabel* label = new QLabel(this);

// 顯示 4 位有效數字(預設 'g' 格式)
label->setText(QString::number(value, 10, 4));  // "123.5"

// 固定小數點後 2 位(需用 'f' 格式完整版)
label->setText(QString::number(value, 'f', 2)); // "123.46"

// 科學記號 3 位有效數字
label->setText(QString::number(value, 'e', 3)); // "1.23e+02"

常見格式字元

  • 'f':定點表示法(固定小數位數)
  • 'e':科學記號(小寫 e)
  • 'E':科學記號(大寫 E)
  • 'g':'f' 或 'e' 中較短者(預設)
  • 'G':'f' 或 'E' 中較短者

補充:locale 感知格式化

若需依系統地區設定顯示千分位分隔符、小數點符號,可使用 QLocale:

QLocale locale(QLocale::Taiwan);
label->setText(locale.toString(value, 'f', 2));  // 含千分位
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved