У меня есть файл с номерами (пример 5.513208E-05/1.146383E-05) Я прочитал файл и сохранил записи во временной строке. После этого я преобразовываю временную строку в переменную float (которую я храню в многомерном массиве). Я использую приведенный ниже код для преобразования.C++ String to float с точностью
getline(infile, temporary_string, ',');
Array[i][0] = ::atof(temporary_string.c_str());
getline(infile, temporary_string);
Array[i][1] = ::atof(temporary_string.c_str());
Проблема заключается в том, что когда я печатаю поплавки на экран
5.51321e-05 1.14638e-05 вместо 5.513208E-05 1.146383E-05
Как я могу получить точные цифры, хранящиеся ???
Что такое переменный тип 'Array'? Если он плавает, попробуйте изменить его на двойное. – fuenfundachtzig
Ehm, 'float' даст вам приблизительно log10 (2^23) цифр, что составляет« 6,92 », поэтому от 6 до 7 цифр. –
перейдите по этой ссылке http://stackoverflow.com/questions/10605653/converting-char-to-float-or-double – beyrem