很多时候我们需要将字符串代表的数值转换为数值类型,方法很多,这里介绍一种非常简单有效的方法。
请看下面的函数实例:
#include <sstream>
string doubleToString(double inValue) const
{
ostringstream ostrStream;
ostr << inValue;
return ostr.str();
}
double stringToDouble(string inString) const
{
double temp;
istringstream istrStream(inString);
istrStream >> temp;
if ( istrStream .fail() || ! istrStream .eof()) {
return 0;
}
return temp;
}
C++流所对应的类及头文件
| Input | output | Header |
Generic | istream | ostream | <iostream> |
File | ifstream | ofstream | <fstream> |
C string (char*) | istrstream | ostrstream | <strstream> |
String | istringstream | ostringstream | <sstream> |
针对这里的 istringstream和 ostringstream而言,他们的继承关系如下: