如何将QTableWidgetItem表示法更改为standardNotation

时间:2013-01-21 17:15:54

标签: qt qt4 qtablewidget qt4.8 qtablewidgetitem

我有3列QTableWidget。我将第一列和第二列中的数字相乘,并将结果写入第三列。数字是双倍的。问题是:结果是科学记数法,如“1.4e + 3”。如何将符号更改为标准符号? 我使用Qt 4.8和Ubuntu 12.10。

我填充前两列:

QTableWidgetItem *itm0=new QTableWidgetItem("12345.6781");
ui->tableWidget->setItem(0,0,itm0);
QTableWidgetItem *itm1=new QTableWidgetItem("223.132");
ui->tableWidget->setItem(0,1,itm1);

我将数字相乘并写入结果

double num0=ui->tableWidget->item(0,0)->text().toDouble();
double num1=ui->tableWidget->item(0,1)->text().toDouble();
double result=num0*num1;

QTableWidgetItem *itm2=new QTableWidgetItem(QString::number(result));
ui->tableWidget->setItem(0,2,itm2);

结果是2.75472e + 06, 但实际结果是2754715,8458092

1 个答案:

答案 0 :(得分:1)

我想您正在使用QString::number功能。您可以使用此函数的第二个参数来指定如何完成从double到QString的转换。以下是输出:

double num = 1234.4565;
qDebug()<< QString::number(num);//"1234.46" 
qDebug()<< QString::number(num, 'e');//"1.234457e+03" 
qDebug()<< QString::number(num, 'f');//"1234.456500" 

使用
'e'格式为[ - ] 9.9e [+ | - ] 999
'E'格式为[ - ] 9.9E [+ | - ] 999
'f'格式为[ - ] 9.9
'g'使用e或f格式,以最简洁的为准 'G'使用E或f格式,以最简洁的为准 助理是我最好的朋友;)