c++四舍五入整数
时间: 2025-05-13 09:55:24 浏览: 38
在 C++ 中实现四舍五入的操作可以通过多种方式完成。以下是基于 `cmath` 库中的函数以及自定义逻辑的一种常见方法[^2]。
### 自定义四舍五入函数
下面是一个通用的四舍五入函数,能够将浮点数按照指定的小数位数进行处理:
```cpp
#include <cmath>
#include <iostream>
double round(double number, unsigned int bits) {
double integerPart = std::floor(number); // 获取整数部分
number -= integerPart; // 提取小数部分
for (unsigned int i = 0; i < bits; ++i)
number *= 10; // 将小数部分放大到对应精度
number = std::floor(number + 0.5); // 对放大的数值执行四舍五入
for (unsigned int i = 0; i < bits; ++i)
number /= 10; // 缩小回原精度
return integerPart + number; // 合并整数部分和调整后的小数部分
}
```
此函数的核心在于利用了 `std::floor()` 来获取向下取整的结果,并通过乘除法控制小数点后的有效位数。
### 测试代码示例
为了验证上述函数的功能,可以编写如下测试程序:
```cpp
int main() {
double value = 3.14159;
unsigned int precision = 2;
double roundedValue = round(value, precision);
std::cout << "Original Value: " << value << "\n";
std::cout << "Rounded to " << precision << " decimal places: " << roundedValue << "\n";
return 0;
}
```
运行该程序将会输出原始值及其经过两位置小数点精确度下的四舍五入结果。
#### 输出样例:
```
Original Value: 3.14159
Rounded to 2 decimal places: 3.14
```
这种实现方式灵活且易于理解,适用于大多数场景下的需求。
阅读全文
相关推荐


















