Здравствуйте, _DAle_, Вы писали:
_DA>Здравствуйте, SL, Вы писали:
SL>>результат например (2625.0 * 0.18)/100 был равен 4.73
_DA>У тебя округление изначально написано, в целом, правильно. Может можно поаккуратнее как-то, но основная проблема не в этом, а в том, что в round данные уже приходят с погрешностью. Надо выяснить, какова природа твоих чисел и что нужно с ними сделать.
Условно говоря у меня есть число 2625, от него мне нужно посчитать значение 0.18% и его округлить до 2 знаков.
Делаю так
double d = (2625.0 * 0.18)/100;
double d1 = round(d, 2);
и вместо 4.725, в d получаю 4.7249999999999996, тут так то все понятно так устроен double, но ведь можно же это как то учесть.