我不知道這裏發生了什麼事。我將兩個字符串轉換爲雙精度值,第一個字符串總是經過,但第二個字符串沒有,並且切換它們的方式並不重要! 下面的代碼:幫助轉換字符串加倍?
#include <iostream>
#include <math.h>
#include <string>
#include <sstream>
using namespace std;
int main() {
string temp;
double ax,bx,cx,ay,by,cy;
cout << "Enter x and y for point 1 (separated by a comma)";
cin >> temp;
int where=temp.find(",");
int hmm=temp.length()-where;
cout << hmm << endl << where << endl;
cin.get();
stringstream ss;
string stAx,stAy;
stAx= (temp.substr(0,where));stAy = (temp.substr(where+1, hmm-1));
ss << stAx;ss >> ax;
ss << stAy;ss >> ay;
cout << "Ax: " << ax << endl;
cout << "Ay: " << ay << endl;
system("pause");
return 0;
}
任何人都可以找出我做錯了嗎?
在此先感謝!
看來你的代碼的一部分丟失,所以我有猜測你的問題是什麼。但你有沒有看過boost :: lexical_cast()呢? – Axel 2010-12-22 19:09:32