У меня возникли проблемы относительно операции минус в c.scanf не читает double
printf("\nPlease enter your payment:\n", userpayment);
scanf("%.2f", &userpayment);
customerchange = userpayment - totalfinal;
printf("The amount of change is %.2f\n", customerchange);
Я объявил userpayment
и totalfinal
как double
.
Всякий раз, когда я вводим цену, например; userpayment = 2000
и totalfinal
- 1500, выход всегда будет равняться 1500. Каково решение этой проблемы?
Это выход:
Введите Цена изделия: Enter Количество Предмет: Общая сумма платежа: RM1500.00 Это последний пункт? y Rm50 скидка наличными предоставлена клиенту. Итого Оплата перед наличными скидки составляет: 1500 Общей оплата после кассовой скидки составляет 1450
Пожалуйста, введите ваш платеж: Вашего изменения RM-14500,00
Не используйте двойники для валюты – user234461
Это будет легче помочь, если мы видим, как все объявленные переменные. – blazs
Серьезно, не используйте двойные деньги для валюты. Я знаю, что это не то, что вы просили, но лучше всего использовать младший блок с целым типом или использовать выделенный тип данных для представления валюты. Числа с плавающей точкой хороши для представления большого числа чисел, которые не требуют особого внимания. Используя их для валютных сил, вы должны распространять ошибки округления и явное округление всей вашей кодовой базы. – jvalli