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

最新文章

  1. IntelliJ idea创建Spring MVC的Maven项目
  2. AngularJS基础知识2
  3. Python经典资料汇总
  4. spring+mybatis
  5. SVM整理
  6. 在C#调用C++的DLL方法(一)生成非托管dll
  7. php+sqlite 最佳web服务器
  8. Team Foundation Server 2015使用教程--读取器tfs组的checkin权限修改
  9. 浅谈Android的Activity运行流程(生命周期)
  10. tideways+xhgui搭建php 7的性能测试环境
  11. (转)spring异常抛出触发事务回滚策略
  12. Linux下redis 的部署、主从与集群
  13. 扩展layui中的自带字体图标
  14. 20145326蔡馨熤《网络对抗》——MSF基础应用
  15. ESP8266上报数据到中国移动物联网平台HTTP
  16. Android 简单计算器实现源码
  17. 20155225 2016-2017-2《Java程序设计》课程总结
  18. cpython和lua源码阅读
  19. DML语句报错是因为控制文件无法扩大还是另有原因?
  20. spring mvc: xml生成

热门文章

  1. Censor(KMP)
  2. 巨蟒python全栈开发数据库前端9:bootstrap
  3. A Universally Unique IDentifier (UUID) URN Namespace
  4. 虚拟研讨会:如何设计好的RESTful API(转)
  5. InnoDB 与 MyISAM 区别
  6. ABAP rfc 发布webservice 错误
  7. python调用html内的js方法
  8. 剑指offer 面试7题
  9. SQL SERVER 存储/ 存储结构 内部数据结构
  10. eclipse(1)----ubuntu下的安装与配置