0

3列のQTableWidgetがあります。1列目と2列目に数値を掛け、3列目に結果を書き込みます。数字は2倍です。問題は次のとおりです。結果は「1.4e+3」のような科学的記数法になります。表記を標準表記に変更するにはどうすればよいですか?Qt4.8とUbuntu12.10を使用しています。

最初の2つの列にデータを入力します。

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です。

4

1 に答える 1

1

関数を使用していると思いますQString::number。この関数の2番目の引数を使用して、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形式を使用し、最も簡潔な アシスタントは私の親友です;)


于 2013-01-21T17:45:23.387 に答える