Пишех програма, която приема входни данни в долари от потребителя и ги преобразува в int, което са центовете. Потребителят винаги ще въвежда или цяло число, или число с плаваща запетая с максимум 2 знака след десетичната запетая. Искам да го преобразувам в int чрез умножение по 100. Програмата обаче не работи за някои от числата.
int cents = (dollars*100);
dollars
е входът с плаваща запетая, който потребителят дава. Например, ако I dollars
= 4,2, cents
става 419,999. Как мога да коригирам този проблем?
long cents
, за да съхраните цялата сума (напр. $14000,99 е 1400099 цента) и просто изрично отпечатвайте долари и цента, когато печатате. напр.long cents = 1400099; printf("You've got $%ld.%02ld\n", cents/100, cents%100);
- person Brandin   schedule 25.01.2014