21xrx.com
2024-12-22 21:20:11 Sunday
登录
文章检索 我的文章 写文章
C++中如何进行四舍五入取整操作?
2023-06-30 03:30:46 深夜i     --     --
C++ 四舍五入 取整 操作

在进行编程时,有时候需要对浮点数进行四舍五入取整操作,这时候我们可以使用C++内置的函数round()来实现。

round()函数是C++11引进的,它的作用是将一个浮点数四舍五入后返回最接近它的整数。使用这个函数需要包含头文件

下面是使用round()函数将浮点数取整的示例代码:


#include <iostream>

#include <cmath>

using namespace std;

int main()

{

  double num = 3.6;

  int roundedNum = round(num); // 将3.6四舍五入取整

  cout << "原数:" << num << endl;

  cout << "取整后的数:" << roundedNum << endl;

  return 0;

}

运行上述代码,输出结果为:


原数:3.6

取整后的数:4

从上述示例可以看出,使用round()函数将浮点数四舍五入取整后,返回的结果是一个整数。同时,如果浮点数是负数,则四舍五入后的结果也是一个负数。

需要注意的是,当一个浮点数恰好处于两个整数中间时,使用round()函数会将它四舍五入到离它最近的偶数。例如:


double num = 2.5;

int roundedNum = round(num); // 将2.5四舍五入取整

cout << "原数:" << num << endl;

cout << "取整后的数:" << roundedNum << endl;

运行上述代码,输出结果为:


原数:2.5

取整后的数:2

从上述示例可以看出,2.5经过四舍五入后变成了2而不是3,这是因为2是一个偶数。要想使2.5四舍五入后变成3,可以使用ceil()函数向上取整。例如:


double num = 2.5;

int roundedNum = ceil(num); // 将2.5向上取整

cout << "原数:" << num << endl;

cout << "取整后的数:" << roundedNum << endl;

运行上述代码,输出结果为:


原数:2.5

取整后的数:3

除了使用round()和ceil()函数,我们还可以使用floor()函数将浮点数向下取整。例如:


double num = 1.8;

int roundedNum = floor(num); // 将1.8向下取整

cout << "原数:" << num << endl;

cout << "取整后的数:" << roundedNum << endl;

运行上述代码,输出结果为:


原数:1.8

取整后的数:1

综上所述,当我们需要对浮点数进行四舍五入取整操作时,可以使用C++内置的round()、ceil()和floor()函数来实现。这些函数可以使我们的编程变得更加方便和简洁。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复