double 转 int 四舍五入的c++代码
时间: 2023-09-20 12:09:23 浏览: 82
下面是将double类型的数值四舍五入为int类型的代码:
```c
int round(double x) {
if (x >= 0) {
return (int)(x + 0.5);
} else {
return (int)(x - 0.5);
}
}
```
在这个函数中,我们首先判断参数x的正负性。如果x为正数,则将x加上0.5后将结果强制转换为int类型即可;如果x为负数,则将x减去0.5后将结果强制转换为int类型即可。这样做的原理是,当我们将小数加上0.5后,如果小数的小数部分大于等于0.5,则结果会向上取整;否则结果会向下取整。同样地,当我们将小数减去0.5后,如果小数的小数部分大于等于0.5,则结果会向下取整;否则结果会向上取整。这样就能实现四舍五入的功能了。
相关问题
double 转 int 四舍五入
可以使用标准库提供的 round 函数将 double 转换为最接近的整数。示例代码如下:
```c++
#include <iostream>
#include <cmath>
int main() {
double dnum = 3.6;
int inum = static_cast<int>(std::round(dnum));
std::cout << inum << std::endl; // 输出4
dnum = 3.4;
inum = static_cast<int>(std::round(dnum));
std::cout << inum << std::endl; // 输出3
return 0;
}
```
在上述代码中,我们使用了 `std::round` 函数将 `dnum` 转换为最接近的整数,并使用 `static_cast<int>` 将结果强制转换为 `int` 类型。注意,`std::round` 返回的结果是一个浮点数,需要通过强制类型转换转换为 `int` 类型。
c++double四舍五入
C++中可以使用<cmath>库中的round()函数来实现double的四舍五入。该函数的原型如下:
```c++
double round(double x);
```
其中,x为需要进行四舍五入的double类型变量。该函数返回的是一个double类型的值,表示对x进行四舍五入后的结果。需要注意的是,该函数只能对double类型的变量进行四舍五入,如果需要对其他类型的变量进行四舍五入,需要先进行类型转换。
以下是一个使用round()函数进行double四舍五入的例子:
```c++
#include <iostream>
#include <cmath>
int main() {
double num = 3.1415926;
double rounded_num = round(num * 100) / 100; // 对num保留两位小数进行四舍五入
std::cout << "原数:" << num << std::endl;
std::cout << "四舍五入后的数:" << rounded_num << std::endl;
return 0;
}
```