[英]how to use stringstream to convert a string to an int and to a double at the same time
如何使用stringstream將字符串轉換為int和double?
輸入將是四位數字,后跟一個句點,再加上另外四位數字(####。####),我需要將前四位數字提取為一個整型,然后整件事需要為一雙,但我不確定從這里去哪里
string s;
cin >> s;
stringstream ss;
ss << s;
int num1; // needs to be int
ss.str(s);
ss >> num1;
ss.clear();
ss << s;
double num2; // needs to be a double
ss >> num2;
例如,假設輸入中有1234.5678
。 閱讀發生后,我想在num1
1234
,在num2
1234.5678
。
假設數字只有4位數字並且不是很大,就不需要解析兩次,而雙精度數應該能夠精確地保留整數部分,因此您可以隨后將其截斷為一個int數。
stringstream ss("1234.5678");
double foo;
ss >> foo;
int bar = static_cast<int>(foo);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.