我一整天都在寻找解决方案!你可能会把这个标记为重新发布,但我真正想要的是一个不使用boost lexical cast的解决方案。用传统的C++方法来做就好了。我尝试了这段代码,但它返回了一堆无意义的数字和字母。
string line;
double lineconverted;
istringstream buffer(line);
lineconverted;
buffer >> lineconverted;
我也尝试过这个方法,但总是返回0。
stringstream convert(line);
if ( !(convert >> lineconverted) ) {
lineconverted = 0;
}
感谢您提前的帮助 :)
编辑:对于我使用的第一种解决方案(胡言乱语)…这是一个快照
string line
是默认初始化的,所以它是空的吗? - jogojapanistringstream
的字符串不为空吗?如果你现在得到的极小值不是你期望的值,原因很可能是你传递的字符串为空,这种情况下double
不会被改变,而且由于你没有初始化它,它将具有不可预测的值。 - jogojapan