RoundDUp(Value: Decimal; Precision: Integer): Decimal;
Value. Округляемое десятичное число большой точности;
Precision. Количество дробных разрядов, до которого требуется округлить число.
Метод RoundDUp возвращает результат округления десятичного числа большой точности до ближайшего большего по модулю значения.
Для обозначения в массиве чисел типа Decimal после значения каждого числа необходимо дописать символ «m». Например: 0.001m.
Если количество дробных разрядов больше 0, то число округляется с избытком до заданного количества десятичных разрядов после десятичной запятой.
Если количество дробных разрядов равно 0, то число округляется до ближайшего целого.
Если количество дробных разрядов меньше 0, то число округляется с избытком, с учетом десятичных разрядов слева от десятичной запятой.
Метод RoundDUp подобен методу IMath.RoundD, за тем исключением, что округление всегда производится с избытком.
Для выполнения примера добавьте ссылку на системную сборку MathFin.
Sub UserProc;
Var
r1, r2, r3, r4: Decimal;
Begin
r1 := Math.RoundDUp(2.154956124m,1);
Debug.WriteLine(r1);
r2 := Math.RoundDUp(-50.654m,-2);
Debug.WriteLine(r2);
r3 := Math.RoundDUp(21.5m,-1);
Debug.WriteLine(r3);
r4 := Math.RoundDUp(-1.475m,2);
Debug.WriteLine(r4);
End Sub UserProc;
В результате выполнения примера в окно консоли будут выведены результаты округления:
число и количество разрядов положительны: 2.2;
число и количество разрядов отрицательны: -100;
число положительно, а количество разрядов отрицательно: 30;
число отрицательно, а количество разрядов положительно: -1.48.
См. также: