C++ Муки округления. Как «красиво» сделать следующие функции? Приветствую!
Есть, к примеру, число типа double 43.210002
требуется
привести число к виду 43.2100000000
т.е. оставить число до сотых, остальное забить нулями (например до 4 после сотых).
так же требуется потом просто убрать точку т.е. сделать число "целым" без округлений.
Сделал через строку, но это напоминает адцкий костыль.
Подскажите, пожалуйста, как правильнее?

21 Авг 2019 в 06:11
124 +1
1
Ответы
1

Вот пример кода на C++, который выполняет указанные вами задачи без использования строк:

#include <iostream>
#include <cmath>
double roundToNDecimals(double value, int decimals) {
double factor = pow(10, decimals);
return round(value * factor) / factor;
}
double removeDecimalPoint(double value) {
return floor(value);
}
int main() {
double number = 43.210002;
// Округляем до 4 знаков после запятой
double roundedNumber = roundToNDecimals(number, 4);
std::cout << "Округленное число: " << roundedNumber << std::endl;
// Убираем точку
double integerNumber = removeDecimalPoint(number);
std::cout << "Число без десятичной части: " << integerNumber << std::endl;
return 0;
}

Этот код определяет две функции: roundToNDecimals, которая округляет число до указанного количества десятичных знаков, и removeDecimalPoint, которая просто убирает десятичную точку.

Надеюсь, это поможет вам решить вашу задачу более "красиво" и без использования строк.

20 Апр в 13:22
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 493 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир