Когда я запускаю свой код, он печатает только десятичные части двойного числа.На другой странице я взял введенный дубль и распечатал его так, как он был введен.Но для следующего кода он печатает только десятичные дроби.Например, когда я ввожу 1,95, он выводит только 0,95.Почему удаляется первая цифра?Я не вижу в своем коде ничего, что бы указывало на это.
Я уже пробовал это более простым способом, и это сработало.И я не вижу никаких проблем, которые могли бы испортить двойной код в моем коде.
#include <iostream>
using namespace std;
int main()
{
double price;
char user_input;
do
{
cout << "Enter the purchase price (xx.xx) or `q' to quit: ";
cin >> user_input;
if (user_input == 'q')
{
return 0;
}
else
{
cin >> price;
int multiple = price * 100;
if (multiple % 5 == 0)
{
break;
}
else
{
cout << "Illegal price: Must be a non-negative multiple of 5 cents.\n" << endl;
}
}
} while (user_input != 'q');
cout << price << endl;
}
Когда я ввожу 1,95, я получаю 0,95.Но на выходе должно быть 1.95.