Strona 1 z 1

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

: 24 sty 2015, o 19:46
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

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

: 24 sty 2015, o 22:14
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

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

: 24 sty 2015, o 23:22
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.

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

: 25 sty 2015, o 12:31
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?