• QT 中一些数学计算函数


    QT的一些範例中有出現 qmax, qmin 等 math函式的身影,但我在官方文件中卻找不到與 math函式相關的說明,所以我就把函式的source裡面提供的方法整理條列,並且看看還有哪些 math相關的函式可用。在 qglobal.h 裡,可以找到幾種 math函式,條列於下,但一般常用的 math如:qfloor(無條件捨去)、qceil(無條件進位)、qsin,qcos,qtan(三角函數) 等等等...則是都沒有看到。


    qAbs ( const &value )
    說明:返回絕對值
    範例:
    int absoluteValue;
     int myValue = -4;
     absoluteValue = qAbs(myValue);


     // absoluteValue == 4qBound ( const &min, const &value, const &max )
    說明:返回極限不超過 min , max 的值, 等同於 qMax(min, qMin(value, max))
    範例:
    int myValue = 10;
     int minValue = 2;
     int maxValue = 6;

     int boundedValue = qBound(minValue, myValue, maxValue);
     // boundedValue == 6

    qMax ( const &value1, const &value2 )
    說明:返回最大值
    範例:
    int myValue = 6;
     int yourValue = 4;

     int maxValue = qMax(myValue, yourValue);

     // maxValue == 6qMin ( const & value1, const &value2 )
    說明:返回最小值
    範例:
    int myValue = 6;
     int yourValue = 4;

     int minValue = qMin(myValue, yourValue);

     // minValue == 4int qRound ( qreal value )
    說明:返回四捨五入的整數
    範例:
    qreal valueA = 2.3;
     qreal valueB = 2.7;

     int roundedValueA = qRound(valueA);
     // roundedValueB = 2
     int roundedValueB = qRound(valueB);
     // roundedValueB = 3

    qint64 qRound64 ( qreal value )
    說明:返最接近的64位元整數
    範例:
    qreal valueA = 42949672960.3;
     qreal valueB = 42949672960.7;

     int roundedValueA = qRound(valueA);
     // roundedValueA = 42949672960
     int roundedValueB = qRound(valueB); 
     // roundedValueB = 42949672961

    int qrand ()
    說明:thread-safe版本的標準C++亂數函式,返回 0 到 RAND_MAX之間的數字序列之下一個整數,使用qsrand(uint seed) 重新給定種子
    範例:
    qreal valueA = qrand() % 100; // 41
     qreal valueB = qrand() % 10; // 7
     qreal valueC = qrand() % 2; // 0
     qsrand(0xffffffff);
     valueA = qrand() % 100; // 35
     valueB = qrand() % 10; // 9
     valueC = qrand() % 2; // 0
     qsrand(0xffffff);
     valueA = qrand() % 100; // 35
     valueB = qrand() % 10; // 3
     valueC = qrand() % 2; // 0
    bool qFuzzyCompare ( double p1, double p2 ) [靜態方法]
    說明:比較兩個長浮點數的大小,如果兩者相同返回true,反之為否,同樣為thread-safe。另外也提供float版本的方法: bool qFuzzyCompare ( float p1, float p2 ) [static]
    範例:
    qreal valueA = 42949672960.3;
     qreal valueB = 42949672960.7;

     bool equal = qFuzzyCompare(valueFA,valueFB);
     // equal = false

  • 相关阅读:
    python第三十一课--递归(1.简单递归函数的定义和使用)
    python第三十课--异常(with as操作)
    python第三十课--异常(异常对象传递过程)
    python第三十课--异常(raise关键字)
    python第三十课--异常(else讲解)
    python第三十课--异常(finally讲解)
    python第三十课--异常(异常处理定义格式和常见类型)
    python第二十九课——文件读写(复制文件)
    python第二十九课——文件读写(写数据的操作)
    16 nginx实现负载均衡
  • 原文地址:https://www.cnblogs.com/xj626852095/p/3648217.html
Copyright © 2020-2023  润新知