2016-06-22 3 views
2

значащих цифр равна 2.Почему вывод cout << setprecision (2) << 0.999 - 1 вместо 1.0?

Почему выход

cout << setprecision(2) << 0.999 << endl;` 

является 1 вместо 1.0?

+0

Вы имеете в виду 'endl'. Правильно? –

+0

@TalhaIrfan да, я имею в виду endl –

+0

Надеюсь, ответ ниже рассмотрит вашу проблему. Пожалуйста, примите его ответ, если он работает, чтобы закрыть его! –

ответ

5

Форматирование по умолчанию не печатает нулевые нули; вам необходимо установить форматирование с плавающей точкой в ​​fixed, см. также this reference. Так что вам нужно, это

cout << setprecision(2) << fixed << 0.999 << endl; 

Следует также отметить, что setprecision относится к десятичных цифр, так что на 1.0 вам нужно будет setprecision(1)

Смежные вопросы