2014-10-01 126 views
1

有沒有辦法將顯示一些大整數的QByteArrayQStringint轉換爲科學記數法?我需要在QLineEdit中將它顯示爲一個字符串。將QString/QByteArray轉換爲科學記數法qt

我確定這已被問過,但我還沒有找到我要找的東西。

轉換QByteArray475000000QString4.75E8

回答

1
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 
+0

@ Chernobyl--太棒了!再次再次感謝 – Rachael 2014-10-01 18:31:17

1

最簡單的選擇是串號,然後數字轉換爲字符串。
有很多可能性:

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'); 
相關問題