c++保留两位数怎么写
时间: 2024-09-28 18:08:45 浏览: 44
在C++中,如果你想保留数字的小数点后两位,可以使用`std::fixed`和`std::setprecision`从 `<iomanip>` 库来控制浮点数的输出精度。例如:
```cpp
#include <iostream>
#include <iomanip>
int main() {
double number = 3.1415926;
std::cout << std::fixed << std::setprecision(2) << number << std::endl; // 输出:3.14
return 0;
}
```
这里,`std::fixed`让输出始终以固定小数点后的位数显示,而`std::setprecision(2)`设置了保留两位小数。如果你只想保留整数部分并舍去多余的部分,那么可以先将数字转换为整数,然后再转换回字符串:
```cpp
#include <iostream>
#include <sstream>
int main() {
double number = 123.45678;
int integer_part = static_cast<int>(number);
std::stringstream ss;
ss << std::setw(3) << integer_part; // 设置宽度为3,自动左对齐并在左边补零
std::string str = ss.str();
std::cout << str << "." << std::setfill('0') << std::setw(2) << std::right << std::setprecision(2) << (number - integer_part); // 输出:123.46
return 0;
}
```
这里,我们首先得到了整数部分,然后用`std::setw`设置了一个三位宽的字符串,最后再添加小数部分。
阅读全文