1
有沒有辦法將顯示一些大整數的QByteArray
或QString
或int
轉換爲科學記數法?我需要在QLineEdit
中將它顯示爲一個字符串。將QString/QByteArray轉換爲科學記數法qt
我確定這已被問過,但我還沒有找到我要找的東西。
轉換QByteArray
:475000000
到QString
:4.75E8
有沒有辦法將顯示一些大整數的QByteArray
或QString
或int
轉換爲科學記數法?我需要在QLineEdit
中將它顯示爲一個字符串。將QString/QByteArray轉換爲科學記數法qt
我確定這已被問過,但我還沒有找到我要找的東西。
轉換QByteArray
:475000000
到QString
:4.75E8
QString aaa("475000000");
ui->lineEdit->setText(QString::number(aaa.toDouble()));
輸出:
4.75e+08
或者
QString aaa("475000000");
QString formatted = QString::number(aaa.toDouble()).remove("+");
ui->lineEdit->setText(formatted.toUpper());
輸出:
4.75E08
QString aaa("475000000");
QString formatted = QString::number(aaa.toDouble()).remove("+");
formatted.replace("e0","E");
ui->lineEdit->setText(formatted.toUpper());
輸出:
4.75E8
最簡單的選擇是串號,然後數字轉換爲字符串。
有很多可能性:
QString aaa("475000000");
double value = aaa.toDouble();
QString cStyleResult = QString::number(value, 'e');
QString localeAwareResult = QLocale::system().toString(value, 'e');
QString noLocaleFormat = QString("value=%1").arg(value, 0, 'e');
QString localeAwareFormat = QString("value=%L1").arg(value, 0, 'e');
@ Chernobyl--太棒了!再次再次感謝 – Rachael 2014-10-01 18:31:17