Domanda

Sto usando Qt e si desidera stampare un valore di dati (doppio) in un'etichetta; tuttavia, gli zeri finali vengono mozzati. So in C posso usare printf ( "% 0.1f", dati) per conservare gli zeri finali.

Ho guardato la funzione di QString arg , ma che permette solo la larghezza complessiva campo da impostare. setNum e numero ogni permettono la precisione da impostare, ma che non è giusto sia.

Esempio di codice:

double data = 1.0;
label->setText( QString().number( data );
È stato utile?

Soluzione

Guarda la funzione QString::number() statica con il formato e la precisione argomenti.

QString QString::number( double n, char format = 'g', int precision = 6 )

Riferimento: http://doc.qtsoftware.com/4.5/qstring. html # numero-2

Altri suggerimenti

Perché non usare QString :: sprintf ()?

QString().sprintf("%08d + rest of the string", 7);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top