Konwersja z double na char

Konwersja z double na char
R1
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:157
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

.__.
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 5 lat
2

Zależy co masz na celu

Kopiuj
double val = 2.555;
char buff[5];
sprintf(buff, "%f", val);
    
for(int i=0; i<sizeof(buff); i++) {
    std::cout << buff[i] << " ";
}
R1
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:157
0

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

.__.
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 5 lat
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.

tajny_agent
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad rok
  • Postów:1340
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.


"I love C++. It's the best language in the world right now for me to write the code that i need and want to write"
~ Herb Sutter

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.