Чем отличается запятая от точки в double?
Когда я с клавиатуры ввожу 328,1, я получаю ответ: 99.9696, а если ввожу 328.1, то все нормально. В чем разница между точкой и запятой?
double f, m;
cout << "Введите длину(в футах): ";
cin >> f;
m = f / 3.281;
cout << f << " футов = " << m << " метров\n";
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Разница в том, что если не принять специальные меры, чтоб запятая считалась разделителем целой и дробной частей числа. Стандартно таковым в С++ является точка.
Так что когда вы вводите 328,1 - считывается только 328, затем идет запятая, которой в числе быть не может, так что на этом чтение завершается, и f принимает значение 328.
Кстати, при этом в буфере ввода остается запятая, так что если бы вы написали далее еще один оператор чтения числа - то он бы просто не работал, переведя при этом поток cin в состояние fail.

