Witam,
Chciałbym napisać funkcję konwertującą ze string na double, ale niestety tracę trochę danych.
Dla parametru double x = 32.123456 pokazuje jakieś liczby po tej liczbie. Próbowałem dodać przed kodem:
int pom2 = x*100000;
x = pom2/100000.0;
I wtedy x był równy 32.123449999999998. Bez tego kodu x był równy 32.123455999999997
A to kod funkcji bez powyższego kodu:
string double_to_string(double x){
string pom="";
int czesc = x;
pom = itoa(czesc);
double reszta = x - czesc;
pom +='.';
if(reszta<=0)
pom +='0';
while(reszta>0)
{
reszta*=10;
czesc = reszta;
pom += (char)(czesc+48);
reszta-=czesc;
}
}