людям! Я боролся с этой проблемой в течение некоторого времени, и до сих пор я не нашел для нее никакого решения.(C++) std :: istringstream считывает до 6 цифр из строки в double
В приведенном ниже коде инициализируется строка с номером. Затем я использую 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 загружен только 6 из 10. Как я могу загрузить всю строку в двойную переменную?
попробовать 'instr.precision (8)' до 'instr.str (test);' –