Konwersja z double na char

0

Czy można łatwo skonwertować z double na char ? np mając liczbę 2.555 po konwersji będą znaki tj 2 . 5 5 5

2

Zależy co masz na celu

double val = 2.555;
char buff[5];
sprintf(buff, "%f", val);
    
for(int i=0; i<sizeof(buff); i++) {
    std::cout << buff[i] << " ";
}
0

@.__.: A co jeśli nie wiem jak długa będzie liczba double ?

1

ustal sobie maksymalna liczbe przed przecinkiem np. 9999, co daje 4 znaki, a po przecinku mozesz zaokraglic np do 4 miejsc wpisujac w sprintfie"%4f". To daje 8 znakow + kropka czyli 9 i taka tablice powinna starczyc.

2
Render125 napisał(a):

@.__.: A co jeśli nie wiem jak długa będzie liczba double ?

std::numeric_limits<double>::max_digits10

The value of std::numeric_limits<T>::max_digits10 is the number of base-10 digits that are necessary to uniquely represent all distinct values of the type T, such as necessary for serialization/deserialization to text. This constant is meaningful for all floating-point types.

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