如何将浮点数转换为整数
时间: 2024-12-25 14:34:06 浏览: 11
在C++中,将浮点数(double或float类型)转换为整数(通常是int类型)可以直接使用内置的强制类型转换运算符`static_cast<int>()`。不过需要注意的是,这种转换会丢弃小数部分,并向下取整。例如:
```cpp
#include <iostream>
int main() {
double float_num = 3.14159; // 浮点数
int int_num = static_cast<int>(float_num);
std::cout << "Original float: " << float_num << std::endl;
std::cout << "Converted integer: " << int_num << std::endl;
// 输出结果会是 3,因为小数部分被舍去
return 0;
}
```
在这个例子中,`3.14159` 被转换成 `3`。
如果你需要四舍五入或者保持原数值的精度,可以使用`round()`函数,它是`<cmath>`头文件里的成员:
```cpp
#include <cmath>
int main() {
double float_num = 3.14159;
int int_num = round(float_num);
std::cout << "Rounded float: " << float_num << ", Rounded integer: " << int_num << std::endl;
return 0;
}
```
这将会返回 `3`,因为`round(3.14159)`的结果是最接近的整数,即`3`。
阅读全文