konwersja string na double

0

Witam,
Chce sobie wczytać współrzędne z pliku tekstowego, jednakże mam pewien probblem z konwersją. mianowicie:

 getline(file, temp);
                odbierane=dziel_spacjami(temp);
                //char temp_tab[3][]={{odbierane[0]}, {odbierane[0]},{odbierane[0]}};
                cout<<odbierane[0]<<" "<<odbierane[1]<<" "<<odbierane[2]<<endl;
                vert_tab[i].x=stod(odbierane[0]);
                vert_tab[i].y=stod(odbierane[1]);
                vert_tab[i].z=stod(odbierane[2]);
                ///break;
                cout<<"po konwersji:  "<<vert_tab[i].x<<" "<<vert_tab[i].y<<" "<<vert_tab[i].z<<endl;

co daje wynik:

 -0.360154 4.692773 0.209678
po konwersji:  -0.360154 4.69277 0.209678
-0.360154 4.681316 0.170825
po konwersji:  -0.360154 4.68132 0.170825
0.358220 4.681316 0.170825
po konwersji:  0.35822 4.68132 0.170825
0.358220 4.692773 0.209678
po konwersji:  0.35822 4.69277 0.209678
0.358220 3.965760 0.332213
po konwersji:  0.35822 3.96576 0.332213
0.358220 4.001894 0.209678
po konwersji:  0.35822 4.00189 0.209678
-0.360154 4.001894 0.209678
po konwersji:  -0.360154 4.00189 0.209678
-0.360154 3.965760 0.332213
po konwersji:  -0.360154 3.96576 0.332213
3.261526 4.482900 0.293551
po konwersji:  3.26153 4.4829 0.293551
3.509075 4.442335 0.314040
po konwersji:  3.50908 4.44233 0.31404

funkcja więc sobie czasem zaokrągla, aby uniknąć problemów z zakresem dałem long double ale nadal jest ten sam problem, podobnie jest jak użyje np. atof, czy ktoś spotkał się z podobnym problemem?

0

Od razu zaznacze, że użycie

 stold

też nie działa

1

To cout obcina Ci części dziesiętne przy wyświetlaniu. Zawołaj sobie std::cout.precision(10); przed wypisaniem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1