[C] jak usunąć zbędne zera w zmiennej typu double?

ptaaq
Użytkownik
Użytkownik
Posty: 6
Rejestracja: 23 sty 2015, o 23:58
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 1 raz

[C] jak usunąć zbędne zera w zmiennej typu double?

Post autor: ptaaq »

Witam, potrzebuję pomocy, mianowicie wczytuje dane z pliku w formacie double ale generują mi się niepotrzebne 0 po przecinku co później przeszkadza w zapisaniu i wyświetlaniu danych. Dodam, że sposób ze zmianą drukowania po przecinku typu printf("%1.0lf") mnie mnie urządza.

np. w pliku 4,2 dostaje 4,20000 a chcę mieć znowu 4,2
Ostatnio zmieniony 24 sty 2015, o 20:12 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Gouranga
Użytkownik
Użytkownik
Posty: 1588
Rejestracja: 16 maja 2013, o 17:56
Płeć: Mężczyzna
Lokalizacja: Trójmiasto
Podziękował: 11 razy
Pomógł: 245 razy

[C] jak usunąć zbędne zera w zmiennej typu double?

Post autor: Gouranga »

innego sposobu niż zmiana dokładności wydruku nie ma
komputer ma określoną liczbę bitów na przechowanie liczby double, jak nie użyjesz całej to jest dopełniana zerami

chyba że struktura:

Kod: Zaznacz cały

typedef struct Double2 {
  int full;
  unsigned int frac;
} Double2;

...

Double2 x;
scanf("%d.%u", &x.full, &x.frac);
pytanie czy gra jest warta świeczki
ptaaq
Użytkownik
Użytkownik
Posty: 6
Rejestracja: 23 sty 2015, o 23:58
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 1 raz

[C] jak usunąć zbędne zera w zmiennej typu double?

Post autor: ptaaq »

Dzięki za informacje, w takim razie ustawie dokładność drukowania tak, żeby nic nie stracić ale i nie zaśmiecać sobie wydruku.
TeoO_
Użytkownik
Użytkownik
Posty: 20
Rejestracja: 6 lis 2014, o 11:28
Płeć: Mężczyzna
Lokalizacja: ???
Podziękował: 1 raz

[C] jak usunąć zbędne zera w zmiennej typu double?

Post autor: TeoO_ »

Ale dlaczego sama korekta przy wyswietlaniu cie nie urzadza?
Co chcesz robic z tymi danymi ze 4,20000 jest złe, a 4,2 już ok?
ODPOWIEDZ