Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将QString/QByteArray转换为科学符号qt_C++_Qt_Type Conversion - Fatal编程技术网

C++ 将QString/QByteArray转换为科学符号qt

C++ 将QString/QByteArray转换为科学符号qt,c++,qt,type-conversion,C++,Qt,Type Conversion,有没有一种方法可以轻松地将显示某个大整数的QByteArray或QString或int转换为科学符号?我需要将其显示为QLineEdit中的字符串 我肯定这已经被问过了,但我还没有找到我要找的东西 将QByteArray:475000000转换为QString:4.75E8 QString aaa("475000000"); ui->lineEdit->setText(QString::number(aaa.toDouble())); 输出: 4.75e+08 4.75E08

有没有一种方法可以轻松地将显示某个大整数的
QByteArray
QString
int
转换为科学符号?我需要将其显示为
QLineEdit
中的字符串

我肯定这已经被问过了,但我还没有找到我要找的东西

QByteArray
475000000
转换为
QString
4.75E8

QString aaa("475000000");
ui->lineEdit->setText(QString::number(aaa.toDouble()));
输出:

4.75e+08
4.75E08

QString aaa("475000000");
QString formatted = QString::number(aaa.toDouble()).remove("+");
formatted.replace("e0","E");
ui->lineEdit->setText(formatted.toUpper());
4.75E8

输出:

4.75e+08
4.75E08

QString aaa("475000000");
QString formatted = QString::number(aaa.toDouble()).remove("+");
formatted.replace("e0","E");
ui->lineEdit->setText(formatted.toUpper());
4.75E8
输出:

4.75e+08
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');
@切尔诺贝利——太棒了!再次感谢