Почему выход cout << setprecision(2) << 0.999 равен 1 вместо 1.0?
Значимые цифры - 2.
Почему выход
cout << setprecision(2) << 0.999 << endl;`
является 1
вместо 1.0
?
1 ответ
Решение
Форматирование по умолчанию не печатает конечные нули; вам нужно установить форматирование с плавающей запятой в fixed
см. также эту ссылку. Так что вам нужно
cout << setprecision(2) << fixed << 0.999 << endl;
Также обратите внимание, что setprecision относится к десятичным цифрам, поэтому для 1.0 вам понадобится setprecision(1)