Wpis z mikrobloga

Może ktoś pomoże pomysł bo ja już nie mam siły.
Język C++. Proste zadnie na studia.
Mam daną "money" typu float przechowującą pieniądze czyli na przykład 2.30 złotego.
Potrzebuję napisać funkcję zawracającą ile jest groszy w tej danej (typ int).

No i robię to tak:

int zlote = floor(money);
int grosze = (money - zlote)*100;
return grosze;

No i tutaj jest problem że na przykład dla 2.30 złotych wyrzuca mi 29 gorszy ( ͡° ʖ̯ ͡°)

#programowanie #cpp
  • 19
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam daną "money" typu float przechowującą pieniądze czyli na przykład 2.30 złotego.


@przegrywam_przez_miasto: morał z tego prosty, nie trzymaj pieniędzy jako floatów.

Integer z liczbą groszy rozwiąże twoje problemy. ( ͡° ͜ʖ ͡°)

  • Odpowiedz
@Passer93: jak najbardziej masz rację, ja tu tylko napisałem że po języku bez gc nie spodziewałbym się natywnej obsługi decimali. Aczkolwiek mogę się oczywiście mylić, dużo się takimi niskopoziomowymi rzeczami nie bawiłem
  • Odpowiedz