c++四舍五入函数,向上取整,向下取整函数

c++四舍五入精讲 2、向下取整floor():向下取整是指将一个数向负无穷方向取最接近的整数。例如,在-3~-4之间的绿点都将向数轴左边取整为-4,任何在3~4之间的红点都将向左边取整为3。看红点离两端a和b的距离,向距离更短的方向取整,例如,这里红色线段 阅读详情
AI摘要

本文详细介绍了C++中用于处理浮点数取整的三种常用函数:floor(), ceil() 和 round()。通过实例展示了这些函数如何实现向下取整、向上取整及四舍五入的操作,并对比了它们之间的差异。

对含有小数点的数进行四舍五入是比较普遍的一种需求。在C++中也有类似的取整函数。在C++的头文件中有floor()和ceil()函数。在STL中还有round()函数。这三个函数的作用如下:

      
函数名称函数说明2.12.9-2.1-2.9
Floor()不大于自变量的最大整数22-3-3
Ceil()不小于自变量的最大整数33-2-2
Round()四舍五入到最邻近的整数23-2-3

从函数说明中可以看出,
(1) Floor()会取不大于自变量的最大整数,这样自变量是3.1或3.9是没有区别的,返回都是3;自变量是-2.1或-2.9也是没有区别的,返回都是-3;
(2) Ceil()会取不小于自变量的最大整数,这样自变量是3.1或3.9,返回都是4;自变量是-2.1或-2.9,返回的都是-2;
(3) Round()函数,才是我们需要的四舍五入的函数,因为它会返回离自变量最近的整数,这个返回的整数可能大于也可能小于原来的数,但是一定是离它最近的那个整数。

double floor (double x);
      float floor (float x);
long double floor (long double x);
     double floor (T x);           // additional overloads for integral types

1
2
3
4
5
6
7
8
9
10
11
12
/* floor example */
#include <stdio.h>      /* printf */
#include <math.h>       /* floor */

int main ()
{
  printf ( "floor of 2.3 is %.1lf\n", floor (2.3) );
  printf ( "floor of 3.8 is %.1lf\n", floor (3.8) );
  printf ( "floor of -2.3 is %.1lf\n", floor (-2.3) );
  printf ( "floor of -3.8 is %.1lf\n", floor (-3.8) );
  return 0;
}

Output:


floor of 2.3 is 2.0
floor of 3.8 is 3.0
floor of -2.3 is -3.0
floor of -3.8 is -4.0
double ceil (double x);
      float ceil (float x);
long double ceil (long double x);
     double ceil (T x);           // additional overloads for integral types
1
2
3
4
5
6
7
8
9
10
11
12
/* ceil example */
#include <stdio.h>      /* printf */
#include <math.h>       /* ceil */

int main ()
{
  printf ( "ceil of 2.3 is %.1f\n", ceil(2.3) );
  printf ( "ceil of 3.8 is %.1f\n", ceil(3.8) );
  printf ( "ceil of -2.3 is %.1f\n", ceil(-2.3) );
  printf ( "ceil of -3.8 is %.1f\n", ceil(-3.8) );
  return 0;
}

Output:

ceil of 2.3 is 3.0
ceil of 3.8 is 4.0
ceil of -2.3 is -2.0
ceil of -3.8 is -3.0
 double round (double x);
      float round (float x);
long double round (long double x);
     double round (T x);           // additional overloads for integral types
/* round vs floor vs ceil vs trunc */
#include <stdio.h>      /* printf */
#include <math.h>       /* round, floor, ceil, trunc */

int main ()
{
  const char * format = "%.1f \t%.1f \t%.1f \t%.1f \t%.1f\n";
  printf ("value\tround\tfloor\tceil\ttrunc\n");
  printf ("-----\t-----\t-----\t----\t-----\n");
  printf (format, 2.3,round( 2.3),floor( 2.3),ceil( 2.3),trunc( 2.3));
  printf (format, 3.8,round( 3.8),floor( 3.8),ceil( 3.8),trunc( 3.8));
  printf (format, 5.5,round( 5.5),floor( 5.5),ceil( 5.5),trunc( 5.5));
  printf (format,-2.3,round(-2.3),floor(-2.3),ceil(-2.3),trunc(-2.3));
  printf (format,-3.8,round(-3.8),floor(-3.8),ceil(-3.8),trunc(-3.8));
  printf (format,-5.5,round(-5.5),floor(-5.5),ceil(-5.5),trunc(-5.5));
  return 0;
}


Output:

value   round   floor   ceil    trunc
-----   -----   -----   ----    -----
2.3     2.0     2.0     3.0     2.0
3.8     4.0     3.0     4.0     3.0
5.5     6.0     5.0     6.0     5.0
-2.3    -2.0    -3.0    -2.0    -2.0
-3.8    -4.0    -4.0    -3.0    -3.0
-5.5    -6.0    -6.0    -5.0    -5.0
具体可查看文献:http://www.cplusplus.com/reference/cmath/round/

【C++】round()、ceil()和floor()函数详解 本文通过参数详解和示例对round()、ceil()和floor()三个函数进行详解,以帮助大家理解和应用。 阅读详情

相关推荐

c++中四舍五入取整、向上取整和向下取整问题

方法一:利用c++函数 四舍五入:round()函数 向上取整:ceil()函数 向下取整:floor()函数 #include <iostream> #include <cmath>//函数头文件 using namespace std; int main() { double a=1.2; double b=3.7; cout<<"a="<<a<<"四舍五入值为:"<<round(a)<<endl; c

qq_45644254的博客 1万+

C++中四舍五入、取整的函数

C++中四舍五入、取整的函数

m0_64304422的博客 5048

微信自动化进阶:Python识别特定消息并自动回复(基于win32api控件操作)

本文详细介绍了如何使用Python和win32api实现微信消息的智能监控与自动回复。通过精准识别聊天记录中的特定关键词,结合多级匹配策略和性能优化技巧,构建稳定高效的自动化回复系统,适用于企业客服、个人助手等场景。

weixin_42663213的博客 441

C++实现四舍五入的几种方法

要得到四舍五入小数点后的结果,我们可以将小数转换为整数来处理,然后再转换为小数。例如我们需要将1.2345这个数保留小数点后两位四舍五入,我们可以先将其乘以100转换为123.45,然后套用整数的方法来进行四舍五入,再将其除以100转换为小数。fixed(std::fixed)表示用于setpricision的有效数字针对的是小数点后的有效数字。若只需要得到四舍五入的输出,那我们可以利用printf来进行输出,选择保留小数点后0位,即可达到四舍五入的目的。

Xavier_97的博客 6万+

从投影到抗噪:直线拟合三大算法实战指南

本文深入解析了直线拟合的三大核心算法:常规最小二乘法(OLS)、正交回归(TLS)和RANSAC。通过对比其几何原理、代码实现与适用场景,为计算机视觉和数据分析领域的实践者提供了清晰的选型指南,帮助在抗噪、旋转不变性等不同需求下,精准选择并应用最合适的算法。

ujm567890的博客 576

uniapp APP分享;判断用户是否安装APP,已安装直接打开,未安装跳转下载页;uniapp 在外部打开APP(schemes)

A将某商品分享给B,B点击后判断是否安装APP,若安装直接打开,没有安装则跳转下载页;

@微你 5680

c++ 的四舍五入 各种取整

c++ 的四舍五入 各种取整

qq_69030183的博客 6681

Abaqus梁模型仿真中的常见陷阱与优化策略

本文深入探讨了Abaqus梁模型仿真中的常见陷阱与优化策略,涵盖几何建模、材料属性设置、边界条件处理等关键环节。针对梁截面方向定义、网格划分、复合截面建模等典型问题,提供了实用的Python脚本示例和优化方案,帮助工程师避免计算错误并提升仿真精度。文章特别强调了动力分析中的网格密度要求和材料非线性考虑,为复杂工程应用提供专业指导。

weixin_29099217的博客 460

C++ 向上取整、向下取整、四舍五入函数

总结一下几种常见的取整函数~ 三种取整函数 函数名称 用法 举例 floor 向下取整(不大于自变量的最大整数) (2.1,2.5,2.9,)=2,-2.9=-3 ceil 向上取整(不小于自变量的最大整数) (2.1,2.5.2.9)=3,-2.9=-2 round 四舍五入(四舍五入到最邻近的整数) 2=2,2.4=2,2.5=3 注意: floor(),ceil()包含在#include <math.h>这个头文件之中,但是round在C++中没有函数模板可以调

qq_52109814的博客 2878

非球面检测

摘要:非球面镜检测主要采用干涉法,包括零位补偿和非零位补偿两种方式。零位补偿通过透镜组完全校正像差,精度达1%波长,但设计复杂成本高;非零位补偿利用部分像差补偿降低波前斜率,适用于规则非球面。折射-衍射混合补偿镜能同时校正多种像差。实际检测中可采用物理补偿镜或动态CGH加载方案,光路设计需运用坐标断点和多重结构技术实现复杂光路建模。不同方法各具优势,需根据检测需求选择合适方案。

Zhaxibamao的博客 2106

STM32F429移植LVGL9.3.0:从源码配置到双缓冲优化实战

本文详细介绍了如何在STM32F429平台上移植LVGL 9.3.0图形库,涵盖从源码准备、工程配置、显示驱动适配到双缓冲优化等关键步骤。重点解析了利用STM32F429的硬件特性实现高效内存管理和流畅显示性能的实战技巧,为嵌入式GUI开发提供完整解决方案。

q6r7s8t9的博客 1125

C++中向上取整、向下取整、四舍五入函数

1、向上取整函数         头文件:(C)#include <math.h>    (C++)#include < cmath>         floor()函数: 不...

360°顺滑 5071

第10章: MMU notifier与HMM的协作

本文摘要: HMM(Heterogeneous Memory Management)是Linux内核提供的异构内存管理框架,用于统一CPU与设备(如GPU、DSP等)的内存访问。它通过镜像页表技术实现虚拟地址空间共享,自动同步CPU和设备页表变化,支持透明的内存迁移和设备内存管理。HMM构建在mmu_interval_notifier机制上,利用序列号检测页表修改冲突,提供高效并发控制。核心数据结构包括hmm_range和HMM PFN标志位,通过hmm_range_fault()实现页表遍历和缺页处理。

图形/计算GPU的驱动与虚拟化技术分享园地 3088

向上取整,向下取整以及四舍五入函数c++

请施主发发慈悲,赏在下一个赞吧!

Linda120623的博客 304

Open3d Qt的环境配置

目前统一使用qt6配置,open3d中可视化功能目前使用vtk代替,语言为c++。

阁楼 919

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

sql中向下取整怎么取_Sql 获取向上取整、向下取整、四舍五入取整的实例

【四舍五入取整截取】select round(54.56,0)【向下取整截取】SELECT FLOOR(54.56)【向上取整截取】SELECT CEILING(13.15)--MSSQL取整函数的使用--两个整数相除将截断小数部分select 3/4,4/3,5/3--结果 0,1,1--返回大于或等于所给数字表达式的最小整数SELECT CEILING(123.55), CEILING(1...

weixin_28944739的博客 4429

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

向上取整与向下取整与四舍五入

函数将参数进行四舍五入,返回的结果是最接近原始数字的整数。有装天花板的意思,可以联想到向上方取整,便于记忆。有地板的意思,可以联想到向下方取整,便于记忆。floor(num),既是num的向下取整。ceil(num),既是num的向上取整。与 Python 中的。与 Python 中的。在 C++ 中,可以使用 ceil。在 C++ 中,可以使用。在 C++ 中,可以使用。

m0_74845829的博客 1525

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

C++向上向下取整

首先,C/C++提供了库函数用来向上或向下取整,ceil()与floor(). #include double floor (double x) // 对x进行向下取整 double ceil (double y) // 对y进行向上取整 另外注意 / 并不是进行四舍五入(7/2 = 3),所以我们可以用 (int)(a/b) +1 来表示向上取整,同样的用 (int)(a/

yun2205446823的专栏 4万+

取整函数(向上取整 向下取整 四舍五入)

取整函数(在#include<math.h>之下) Floor() 会取不大于自变量的最大整数,这样自变量是3.1或3.9是没有区别的,返回都是3;自变量是-2.1或-2.9也是没有区别的,返回都是-3;(向下取整) #include<iostream> #include<algorithm> #include<map> #include<ma...

Stydwn的博客 3万+

C/C++ 取整函数ceil(),floor(),向上取整,向下取整

C/C++ 取整函数ceil(),floor() C/C++ 取整函数ceil(),floor() #include  double floor(double x);  float floorf(float x); long double floorl(long double x); double floor(double x); double ceil(double x)

无敌三脚猫的专栏 29万+

除法之后向上取整和向下取整

除法之后向上取整和向下取整 1、向上取整 两数相除(a/b)向上取整:(a+b-1)/b,理解为a如果能将b整除则不+1,若不能整除,则+1。 例:9/2=4 向上取整:(9+2-1)/2=5; 也可以使用c++中的ceil()函数:ceil(9/2)=5 2.向下取整 两数相除(a/b)向下取整:a/b;也可以用c++函数floor(),floor(a/b). 3.四舍五入 两数相除(a/b)四舍五入:(a+b/2)/b;也可以用c++函数round(),round(a/b). ...

weixin_44153180的博客 6614

C/C++格式输出:向上取整、向下取整、四舍五入、保留6位小数、截断6位小数

C/C++格式输出:向上取整、向下取整、四舍五入、保留6位小数、截断6位小数 #include <bits/stdc++.h> //万能头文件 1、向上取整,#include<cmath> float a1 = 10.1; cout << ceil(a1) << endl; 2、向下取整 float a2 = 10.1;...

weixin_41565755的博客 1万+

c++语言取整为什么要加0.5_C/C++之取整函数

C/C++之取整函数后面的double x放的是你的浮点型参数。取整函数向上取整和向下取整有现成的函数。不过它们的缺点是正数和负数用到的函数是相反的容易混淆。函数名函数说明------>右边第一行都是测试数据,右边下面都是返回值1.11.5-1.1-1.5floor()返回不大于自变量的最大整数11-2-2ceil()返回不小于自变量的最大整数22-1-1round()返回四舍五入到最邻近的...

weixin_28923455的博客 2309

C/C++之取整函数

C/C++之取整函数 后面的double x放的是你的浮点型参数。 取整函数向上取整和向下取整有现成的函数。不过它们的缺点是正数和负数用到的函数是相反的容易混淆。 函数名 函数说明------>右边第一行都是测试数据,右边下面都是返回值 1.1 1.5 -1.1 -1.5 floor() 返回不大于自变量的最大整数 1 1 -2 -2 ceil() 返回不小于自变量的最大整数 2 2 -1 -1 round() 返回四舍五入到最邻近的整数 1 2 -1 -2 round四舍

Theoweb3|优快云 wwh1st|GitHub theoweb3|TG theo_liu|X theoweb33|gmail wwh9th 华语区Web3基础设施建设者;Web3开源社区共建者;博客沉淀去中心化等各类工程经验。 5594
上一篇: Cable master(二分查找)
下一篇: Fire Game(两点bfs)
Guuuuuu老师儿
博客等级 码龄9年 259粉丝 718原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值