C浮点数取整与比较 0 前言C编程用到浮点数时一些细节不注意可能会引入莫名的边界BUG本文记录项目过程遇到需注意的地方并总结取整、比较方法/技巧。1 取整函数说明备注floor()地板往下走只会变小或不变注正数和C默认转换int一样负数则不同-1.5 → -2ceil()天花板往上走只会变大或不变round()四舍五入就近走看小数部分≥0.5 进位2 比较不同于整数浮点数的比较需要考虑精度尤其是“相等”判断。1方法1#include math.h double val 0.0; if (fpclassify(val) FP_ZERO) { // val 是零包括正零和负零 }2方法2#include glib.h double x 0.1 0.2 - 0.3; if (G_APPROX_VALUE(x, 0.0, 1e-9)) { // 当 x 和 0.0 的差值小于 1e-9 时这里的代码会被执行 g_print(x is approximately zero.\n); }3方法3#include math.h #include float.h double x 0.1 0.2 - 0.3; if (fabs(x) DBL_EPSILON) { // 这里的判断非常严格等同于检查 x 是否为一个“不可见的”极小误差 }4方法4下面是vte项目封装来判断两个浮点数是否相等的函数static inline bool _vte_double_equal(double a, double b) { #pragma GCC diagnostic push #pragma GCC diagnostic ignored -Wfloat-equal return a b; #pragma GCC diagnostic pop } // file: vte2/src/fonts-pangocairo.cc参考资料[1]C语言怎么去浮点数

相关新闻

最新新闻

380 种格式打底,Subtitle Edit 如何把字幕从“打不开“变成“多语言成品“?

380 种格式打底,Subtitle Edit 如何把字幕从“打不开“变成“多语言成品“?

380 种格式打底,Subtitle Edit 如何把字幕从"打不开"变成"多语言成品"? 【免费下载链接】subtitleedit the subtitle editor :) 项目地址: https://gitcode.com/gh_mirrors/su/subtitleedit 字幕编辑器 Subtitle Edit 是一款…

2026/8/19 23:40:27
一个cmd文件激活整套Windows与Office:免费KMS激活工具 KMS_VL_ALL_AIO 上手实录

一个cmd文件激活整套Windows与Office:免费KMS激活工具 KMS_VL_ALL_AIO 上手实录

一个cmd文件激活整套Windows与Office:免费KMS激活工具 KMS_VL_ALL_AIO 上手实录 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 那天下午我正赶一个方案,屏幕右下角毫无预…

2026/8/19 23:40:27
Windows 11 玩经典局域网游戏总是连不上?用 IPXWrapper 让它重新“开口说话“

Windows 11 玩经典局域网游戏总是连不上?用 IPXWrapper 让它重新“开口说话“

Windows 11 玩经典局域网游戏总是连不上?用 IPXWrapper 让它重新"开口说话" 【免费下载链接】ipxwrapper 项目地址: https://gitcode.com/gh_mirrors/ip/ipxwrapper 周六晚上八点,你和老同学约好来一局《红色警戒2》。新电脑装着 Wind…

2026/8/19 23:40:27
GitHub下载加速插件快速上手完整指南:60秒装好,克隆与下载提速不再靠运气

GitHub下载加速插件快速上手完整指南:60秒装好,克隆与下载提速不再靠运气

GitHub下载加速插件快速上手完整指南:60秒装好,克隆与下载提速不再靠运气 【免费下载链接】Fast-GitHub 国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~! 项目地址: https://gitcode.com/gh_mirrors/fa/Fas…

2026/8/19 23:40:27
晶体管与三极管核心区别:从电流/电压控制原理到电路选型避坑指南

晶体管与三极管核心区别:从电流/电压控制原理到电路选型避坑指南

1. 从一次“烧管”事故说起:为什么必须分清晶体管与三极管? 前几天,一个刚入行的硬件工程师朋友,在调试一个简单的LED驱动电路时,信心满满地告诉我:“我用了一个NPN晶体管来控制,结果一上电&…

2026/8/19 23:40:27
2026年7月嘉兴市新房价格深度分析报告

2026年7月嘉兴市新房价格深度分析报告

一、报告背景与数据说明本报告基于2026年7月嘉兴市新房实际成交案例,结合区域分布、楼盘定位、成交价格等多维度数据,对当前嘉兴新房市场进行深度分析。数据来源涵盖嘉兴市本级及下辖县市的主要在售楼盘成交记录,样本覆盖刚需、改善、高端等多…

2026/8/19 23:35:27