2009-05-19 11 views
5

Qt를 사용 중이며 레이블에 데이터 값 (두 배)을 인쇄하려고합니다. 그러나 후미에있는 0은 제거됩니다. 나는 C에서 후행 0을 유지하기 위해 printf ("% 0.1f", 데이터)을 사용할 수 있음을 알고 있습니다.QString에서 후행 0 인쇄

QString의 arg 함수를 살펴 보았지만 전체 필드 너비 만 설정할 수 있습니다. setNum숫자은 각각 정밀도를 설정할 수 있지만 올바른 것은 아닙니다.

예제 코드 : 형식과 정밀도 인수 정적 기능 QString::number()에서

double data = 1.0; 
label->setText(QString().number(data); 

답변

6

봐.

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

참조 : http://doc.qtsoftware.com/4.5/qstring.html#number-2

+0

'g'에 'f'가 포함되어 있기 때문에 형식을 기본값 'g'에서 'f'로 변경했습니다. 'f'의 설명에서 일부 단어를 놓쳤습니다. 정답 : 이중 데이터 = 1.0; label-> setText (QString(). number (data, 'f', 1); – dwj

3

왜) (QString :: sprintf를 사용하지?

QString().sprintf("%08d + rest of the string", 7);