티스토리 뷰
목차
Qt, 숫자(실수) -> 문자열 변환 함수, QString::number
Qt가 참 편한 게 QString::number() 함수 하나면 모든 숫자를 문자열로 변환할 수 있습니다.
아래 number 함수 원형을 보시죠.
1 2 3 4 5 6 7 | static QString number(int, int base=10); static QString number(uint, int base=10); static QString number(long, int base=10); static QString number(ulong, int base=10); static QString number(qlonglong, int base=10); static QString number(qulonglong, int base=10); static QString number(double, char f='g', int prec=6); | cs |
number() 함수는 int, uint, long, ulong, qlonglong, qulonglong, double까지 7가지 숫자를 문자열로 변환해 줍니다.
실제로 사용할 땐 이렇게 응용할 수 있죠.
1 2 3 4 5 | ui->lineEdit->setText(QString::number(100)); ui->lineEdit->setText(QString::number(12.3)); QString str = QString::number(100); | cs |
Qt에서 숫자를 문자열로 변환해주는 number 함수는 사용하기 참 편합니다. 직관적이고 단순하죠.
[Qt 프로그래밍 예제] 숫자, 실수를 문자열로 바꾸기
그리고 double형도 유연하게 변경할 수 있습니다. 소수점 자리나 표현식을 바꿔가며 변환할 수 있는데요.
Double을 QString로 변환하는 예제도 함께 보시죠.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | qDebug() << QString::number( 123.4567890123456 ); qDebug() << QString::number( 123.4567890123456, 'f', 2 ); // 출력 output "123.4567890123456" "123.46" qDebug() << QString::number( 123.4567890123456, 'e' ); qDebug() << QString::number( 123.4567890123456, 'e', 2 ); // 출력 output "1.234568e+02" "1.23e+02" qDebug() << QString::number( 123.4567890123456, 'g' ); qDebug() << QString::number( 123.4567890123456, 'g', 2 ); // 출력 output "123.457" "1.2e+02" | cs |
인자에 따라 표현하는 방식과 출력할 소수점을 제어할 수 있습니다.
하지만 C++에서 기본으로 제공하는 to_string() 함수는 반환 값이 string 형태라 사용할 수 없네요. 굳이 사용하자면 리턴값을 받아서 QString으로 변환해야 하는데 너무 번거롭죠.
Qt에서 C++ 11 이상의 좋은 문법을 사용하면 좋지만 안 되는 부분도 많습니다.
그러니 숫자를 문자열로 변환할 때는 고민하지 마시고 QString::number() 함수를 사용하세요.
Qt, 숫자(실수) -> 문자열 변환 함수, QString::number