Witam, chciałbym zapytać o wskazówkę co do konwersji typu double na tablicę charów bez użycia sstring i innych bibliotek, które znacznie ułatwiłyby sprawę. Póki co napisałem takie coś, liczy ile trzeba zaalokować, nie wiem tylko jak zapisać to do tablicy charów, o ile na liczby przed przecinkiem mam jeszcze jakiś pomysł, to po przecinku, to nie wiem jak się za to zabrać, byłbym wdzięczny za jakąś wskazówkę.
Aha, no i liczbę charów źle zostanie policzona jeśli będzie np. double a = 23232.000001, ale niestey też nie wiem jak ominąć ten problem :|
#include <iostream>
#include <cmath> //fmod
char* doubleToChar(double a){
int mem = 0;//liczy ile zaalokować charów
double tmp=a;
while( fmod(tmp,10) != 0){
tmp*=10;
mem++;
}
tmp=a;
while(tmp>=1){
++mem;
tmp/=10;
}
std::cout<<mem<<std::endl;
char *tab = new char[mem+1]; //+1 na znak \0
tmp=a;
////////////////
////////////////
return tab;
}
int main(void){
double a=44222.551111;
std::cout<<doubleToChar(a)<<std::endl;
return 0;
}
dodanie znacznika <code class="cpp"> - fp