2017-08-17 86 views
0

我使用qdecimal庫。 有必要以最多兩個字符的準確度對數字進行四捨五入。round QDec雙精度值,最多兩個字符的精度

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