[C++] Obcięcie dalszych miejsc dziesiętnych floata
: 29 sty 2015, o 16:06
C++ na ekran wyświetla 6 miejsc po przecinku. Zatem obchodzą mnie tylko one. Chciałbym, żeby liczby, które wyglądają jak całkowite, wyświetlały się jako całkowite. Wymyśliłem sposób, tylko on sobie nie działa.
Mam liczbę float, która wyświetla się jako
Czyli najpierw zbieram z
1. Jak obciąć dalsze miejsca dziesiętne?
2. Czyżby int zapamiętywał jednak miejsca dziesiętne i zostają one "odblokowane" podczas mnożenia przez
Mam liczbę float, która wyświetla się jako
-1.000000
. Nazwijmy ją "a". Postanowiłem ją potraktować sposobem, który wymyśliłem:
Kod: Zaznacz cały
int c=1000000*a;
a=(1.0*c)/1000000;
a
pierwsze 6 miejsc dziesiętnych (ewentualnie z wcześniej czymś jeszcze, tutaj -1), a potem mnożę tę liczbę przez 1.0
, żeby znów otrzymać liczbę zmiennoprzecinkową i dzielę to przez milion. Powinienem wg mnie otrzymać okrągłe -1.000000
. Ale niespodziewanie dostaję -0.999999
. Mam dwa pytania:1. Jak obciąć dalsze miejsca dziesiętne?
2. Czyżby int zapamiętywał jednak miejsca dziesiętne i zostają one "odblokowane" podczas mnożenia przez
1.0
?