티스토리 뷰

목차

    Qt, 숫자(실수) -> 문자열 변환 함수, QString::number


    Qt가 참 편한 게 QString::number() 함수 하나면 모든 숫자를 문자열로 변환할 수 있습니다.


    아래 number 함수 원형을 보시죠.


    1
    2
    3
    4
    5
    6
    7
    static QString number(intint base=10);
    static QString number(uint, int base=10);
    static QString number(longint 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(doublechar 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 숫자 문자열 변환 QString 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