числа — Как мне округлить вверх / вниз десятичное число значения с плавающей запятой? Переполнение стека

Я знаю, что вы можете использовать setprecision (x), чтобы ограничить количество десятичных знаков, отображаемых в методе cout. Мне было интересно, как мне округлить одно десятичное число вверх / вниз?

Например:
У меня есть номер: 0,073

Я хочу округлить 7 выше, хотя число после 7 равно 3. Таким образом, число становится равным 0,08

Я попытался использовать потолок и пол, но это только округляет его до целого числа. У меня тоже есть потолок, и это тоже округляет целое число.

1

Решение

Две возможности
если у вас всегда есть числа такого порядка,

  • либо добавить 0,005 до округления
  • или умножьте на 100, используйте ceil, а затем разделите на 100.

Если у вас есть числа различных порядков величины, используйте log10, чтобы найти порядок величины, а затем выполните округление одним из способов, описанных выше.

3

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

Поскольку вы хотели получить ответ для cpp, вы должны использовать функцию ceil из библиотеки cmath. Более подробную информацию можно найти по адресу: http://en.cppreference.com/w/cpp/numeric/math/ceil

0

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