人!我一直在努力解決這個問題一段時間,到目前爲止我還沒有找到任何解決方案。(C++)std :: istringstream從字符串中讀取最多6位數字以加倍
在下面的代碼中,我用一個數字初始化一個字符串。然後,我使用std :: istringstream將測試字符串內容加載到double中。然後我把這兩個變量都考慮進去
#include <string>
#include <sstream>
#include <iostream>
std::istringstream instr;
void main()
{
using std::cout;
using std::endl;
using std::string;
string test = "888.4834966";
instr.str(test);
double number;
instr >> number;
cout << "String test:\t" << test << endl;
cout << "Double number:\t" << number << endl << endl;
system("pause");
}
當我運行.exe文件,它看起來像這樣:
字符串測試:888.4834966
雙號888.483
按任意鍵繼續。 。 。
,該字符串具有更多的數字,它看起來像的std :: istringstream只裝的10。6我怎樣才能加載所有的字符串輸入到雙變量?
嘗試'instr.precision(8)'在'instr.str(test)之前'' –