2016-06-26 1 views
0

Es ist ein Stück Code:Wie erhalten Sie größere Genauigkeit beim Konvertieren der QTableItem in QDoubleSpinBox?

std::cout << static_cast<QDoubleSpinBox*>(ui->InitialValuesTable->cellWidget(2, 1))->value() << std::endl; 

Hier habe ich den Wert einer Zelle einer Tabelle erhalten. Zellen sind QDoubleSpinBox. Die Tabellenwerte haben eine Genauigkeit von 15 Dezimalstellen. Allerdings bekomme ich nach Ausführung dieser Codezeile nur 6 Stellen nach dem Punkt. Wie erhalten Sie Tabellenwerte mit einer Genauigkeit von 15 Dezimalstellen?

Antwort

0

Wenn Sie std::cout zur Ausgabe von mehr Dezimalstellen möchten, können Sie std::setprecision verwenden Sie es zu sagen, dies zu tun:

std::cout << std::setprecision(15) << static_cast<QDoubleSpinBox*>(ui->InitialValuesTable->cellWidget(2, 1))->value() << std::endl; 

Notiere die 15 in der oben ist die Präzision und nicht die Menge der Dezimalstellen. Beachten Sie auch eine doubleim Allgemeinen hat nur 15 Ziffern Präzision, so dass mehr Ziffern zeigt, ist eigentlich für Sie und/oder den Benutzer.


können Sie die QDoubleSpinBox verwenden ‚s decimals Eigenschaft seiner Anzeigegenauigkeit einzustellen.

Verwandte Themen