Почему вывод cout & lt; & lt; setprecision (2) & lt; & lt; 0,999 — это 1 вместо 1,0?

Значимые цифры — 2.

Почему выход

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

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

2

Решение

Форматирование по умолчанию не печатает конечные нули; вам нужно установить форматирование с плавающей запятой в fixed, смотрите также эта ссылка. Так что вам нужно

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

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

5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]