C++ float转换为string保留2位小数
时间: 2024-09-18 22:14:42 浏览: 149
C++数据精度问题(对浮点数保存指定位小数)
5星 · 资源好评率100%
在C++中,将`float`类型的数值转换成字符串并保留两位小数,你可以使用`std::fixed`和`std::setprecision`控制浮点数的精度,以及`std::to_string`函数来完成这个任务。下面是一个示例:
```cpp
#include <iostream>
#include <iomanip>
// 将float转换为string并保留2位小数
std::string float_to_str(float num) {
std::ostringstream oss;
oss << std::fixed << std::setprecision(2) << num;
return oss.str();
}
int main() {
float f = 3.14159;
std::string str = float_to_str(f);
std::cout << "Float to string with 2 decimal places: " << str << std::endl;
return 0;
}
```
在这个例子中,`std::fixed`确保了输出的浮点数总是有固定的格式(小数点后固定位数),而`std::setprecision(2)`设置了小数点后的位数为2。运行上述代码会得到`"3.14"`这样的结果。
阅读全文