qt中的取整函数

news/2025/1/15 22:50:11/

在Qt中,有以下几种常用的取整函数,用于处理浮点数的取整操作:

1. **`qCeil()`** - 向上取整:
   该函数返回大于或等于给定浮点数的最小整数。如果输入值是正数,它会将小数部分去掉并增加到下一个整数;如果是负数,它会返回与输入值相等的整数(即不改变负数的值)。函数原型如下:

   ```cpp
   int qCeil(qreal value);
   ```

   示例:
   ```cpp
   double d = 12.¾;
   int i = qCeil(d); // i = 13
   ```

2. **`qFloor()`** - 向下取整:
   该函数返回小于或等于给定浮点数的最大整数。对于正数,它会去掉小数部分而不增加;对于负数,它会减去小数部分并进一步减一,使结果更小。函数原型如下:

   ```cpp
   int qFloor(qreal value);
   ```

   示例:
   ```cpp
   double d = -12.¾;
   int i = qFloor(d); // i = -13
   ```

3. **`qRound()`** - 四舍五入:
   该函数将浮点数四舍五入到最接近的整数。如果小数部分恰好为0.5,它遵循“四舍六入五成双”的规则,即如果前一位数字是奇数,向上舍入;如果前一位数字是偶数,向下舍入。函数原型如下:

   ```cpp
   int qRound(qreal value);
   ```

   示例:
   ```cpp
   double d = 12.5;
   int i = qRound(d); // i = 13

   double e = 12.4;
   int j = qRound(e); // j = 12
   ```

这些函数均位于`<QtGlobal>`头文件中,使用时需确保包含此头文件:

```cpp
#include <QtGlobal>
```

在实际编程中,根据具体应用场景选择合适的取整函数即可。如果您需要其他类型的取整行为(如向零取整、 bankers rounding 等),可能需要借助标准C++库或其他第三方库提供的功能。


http://www.ppmy.cn/news/1439762.html

相关文章

OfficeSuite Premium:办公新体验,效率升级利器

在信息爆炸的时代&#xff0c;高效的办公套件是每一位职场人士不可或缺的工具。OfficeSuite Premium作为一款集多种功能于一身的办公套件&#xff0c;凭借其卓越的性能和人性化的设计&#xff0c;正成为越来越多用户的首选。 OfficeSuite Premium的功能强大而全面&#xff0c;…

后端开发大纲

后端3要素&#xff1a; 后端编程语言&#xff1a;java、python等后端框架&#xff1a;spring、django等&#xff0c;降低构建后端程序的难度包管理工具&#xff1a;maven、pip等&#xff0c;别人把代码打包成包供我们调用 域名&#xff1a;重定向到urlREST风格api&#xff1a;请…

算法 || 二分查找

目录 二分查找 在排序数组中查找元素的第一个和最后一个位置 搜索插入位置 一个数组经过划分后具有二段性的都可以用二分查找 二分查找 704. 二分查找 - 力扣&#xff08;LeetCode&#xff09; ​ 暴力解法&#xff1a;直接遍历数组&#xff0c;找到 target 便返回下标&am…

行为型设计模式(下)

命令模式 命令模式是一种行为设计模式&#xff0c;它将一个请求封装为一个对象&#xff0c;从而允许用户使用不同的请求、队列或日志请求&#xff0c;并支持可撤销的操作。它主要涉及三个角色&#xff1a;发送者&#xff08;Invoker&#xff09;、接收者&#xff08;Receiver&…

11.JAVAEE之网络原理1

1.应用层(和程序员接触最密切) 应用程序 在应用层这里,很多时候, 都是程序员"自定义"应用层协议的,(当然,也是有一些现成的应用层协议)&#xff08;这里的自定义协议,其实是非常简单的~~协议 >约定,程序员在代码中规定好,数据如何进行传输) 1.根据需求, 明确要传…

计算机网络-IS-IS路由计算

前面已经学习了建立IS-IS邻接关系和同步LSDB&#xff0c;然后基于此路由器会进行路由计算。 一、路由计算 因为IS-IS路由器有不同的级别&#xff0c;只维护自身级别的LSDB&#xff0c;因此就是Level-1只有区域内的路由信息&#xff0c;Level-2有Level-2的路由信息&#xff0c;L…

复现SMO算法:理解SVM、SMO和高斯核【一、了解相关概念】

任务要求 复现带有高斯核的SMO算法。在LIBSVM中找到一个包含超过1000条数据的数据集。在保持超参数一致的情况下&#xff0c;确保自己实现的模型的精度与LIBSVM相比&#xff0c;相差不超过1%。 复现SMO算法&#xff1a;理解SVM、SMO和高斯核 在这篇博客中&#xff0c;我将深…

统计fasta文件中ATCG的比例

1.输入文件 2.代码 #title:lin_count_ATCG_of_fasta.py #usage:python in_count_ATCG_of_fasta.py >output def read_fasta(filename):"""Read a FASTA file and return a dictionary of sequences."""sequences {}current_seq seq_id …