C++ Муки округления. Как «красиво» сделать следующие функции? Приветствую Есть, к примеру, число типа double 43.21000 требуетс привести число к виду 43.210000000 т.е. оставить число до сотых, остальное забить нулями (например до 4 после сотых). так же требуется потом просто убрать точку т.е. сделать число "целым" без округлений Сделал через строку, но это напоминает адцкий костыль. Подскажите, пожалуйста, как правильнее?
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, которая просто убирает десятичную точку.
Надеюсь, это поможет вам решить вашу задачу более "красиво" и без использования строк.
Вот пример кода на 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, которая просто убирает десятичную точку.
Надеюсь, это поможет вам решить вашу задачу более "красиво" и без использования строк.