2
значащих цифр равна 2.Почему вывод cout << setprecision (2) << 0.999 - 1 вместо 1.0?
Почему выход
cout << setprecision(2) << 0.999 << endl;`
является 1
вместо 1.0
?
значащих цифр равна 2.Почему вывод cout << setprecision (2) << 0.999 - 1 вместо 1.0?
Почему выход
cout << setprecision(2) << 0.999 << endl;`
является 1
вместо 1.0
?
Форматирование по умолчанию не печатает нулевые нули; вам необходимо установить форматирование с плавающей точкой в fixed
, см. также this reference. Так что вам нужно, это
cout << setprecision(2) << fixed << 0.999 << endl;
Следует также отметить, что setprecision относится к десятичных цифр, так что на 1.0 вам нужно будет setprecision(1)
Вы имеете в виду 'endl'. Правильно? –
@TalhaIrfan да, я имею в виду endl –
Надеюсь, ответ ниже рассмотрит вашу проблему. Пожалуйста, примите его ответ, если он работает, чтобы закрыть его! –