std::to_string float,保留小数部分
时间: 2024-08-14 11:07:54 浏览: 200
新的类型转换运算符-ST入门教程
在C++中,`std::to_string` 函数通常用于将整数和枚举转换成字符串,但它并不是直接用于浮点数(如`float`)。如果你想要把`float`类型的值转换成字符串,并保留特定的小数位数,你需要借助于一些间接方法。
首先,你可以先将`float`转换为`double`,因为`to_string`可以直接处理`double`类型。然后,你可以使用`std::setprecision`设置精度,再调用`std::fixed`强制固定小数点后的显示模式,最后用`to_string`获取字符串表示:
```cpp
#include <iostream>
#include <iomanip>
double convert_float_to_string(float num, int precision) {
std::ostringstream oss;
oss << std::fixed << std::setprecision(precision);
oss << num;
return oss.str();
}
int main() {
float f = 3.1415926;
std::string str = convert_float_to_string(f, 2); // 保留两位小数
std::cout << "Float as string with 2 decimal places: " << str << std::endl;
return 0;
}
```
阅读全文