大家好,又见面了,我是你们的朋友全栈君。
stringstream 对象
C++ stringstream 类是一种十分有用的类,特别是当我们需要在程序中使用字符串和数字数据互相转换的时候
字符串格式化 ss <<
- 过程:数字 -> stringstream对象 -> string
- 创建一个stringstream 对象,并通过运算符 ”<<“ 将数据传递给 stringstream 对象
- 再调用stringstream 类的函数str() 将对象所包含的内容赋给一个string对象
#include <iostream>
#include <sstream>
using namespace std;
int main(void)
{
double pi = 3.141592653589793;
float dollar = 1.00;
int dozen = 12;
int number = 35;
stringstream ss;
ss << "dozen: " << dozen << endl;
//显示小数
ss.setf(ios::fixed);
//显示2位小数
ss.precision(2);
ss << "dollar: " << dollar << endl;
//显示10位小数
ss.precision(10);
ss << "pi: " << pi << endl;
//按十六进制显示整数
ss.unsetf(ios_base::dec);
ss.setf(ios::hex);
ss << "number: " << number << endl;
string text = ss.str(); //格式化后的字符串
cout << text << endl;
return 0;
}
字符串格式转换 ss >>
- 过程:string -> stringstream对象 -> 数字
#include <iostream>
#include <sstream>
using namespace std;
int main()
{
double dVal;
int iVal;
string str;
stringstream ss;
// string -> double
str = "123.456789";
ss << str;
ss >> dVal;
cout << "dVal: " << dVal << endl;
// string -> int
str = "654321";
ss.clear(); //注意 stringstream
ss << str;
ss >> iVal;
cout << "iVal: " << iVal << endl;
return 0;
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137895.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...