2017-08-17 6 views
0

私はqdecimalライブラリを使用しています。 2文字までの精度で丸める必要があります。精度が2文字以内のQDecDouble値の円

1.55555 => 1.56 

今、私はそれを行うこのよう

QDecDouble dd(1.55555); 
dd.multiply(QDecDouble(100)); 
dd = dd.toIntegralValue(DEC_ROUND_HALF_UP); 
dd.divide(QDecDouble(100)); 

は、この丸めを行うためのより最適な方法はありますか?

答えて

0

これはあなたのためであるかどうかわかりません。私はQString::numberを使用しました。

はここに例を示します

#include <qDebug> 

int main(void) 
{ 
    const double n1 { 1.55555 }; 

    const auto n2 = QString::number(n1, 'f', 2).toDouble(); 

    qDebug() << "n1:" << n1; 
    qDebug() << "n2:" << n2; 

    return 0; 
} 

出力:

n1: 1.55555 
n2: 1.56 
関連する問題