Округление до 2 десятичных знаков в C#




округление в c (3)

У меня есть десятичное число, которое может быть следующим:

189,182

Я хочу округлить до 2 десятичных знаков, поэтому результат будет следующим:

189,19

Есть ли встроенная функциональность для этого в классе Math или что-то еще? Я знаю, что функция потолка существует, но, похоже, она не выполняет то, что я хочу - она ​​округляется до ближайшего целого, поэтому в данном случае просто «189».


Ты можешь использовать:

n = System.Math.Ceiling (n * 100) / 100;

Объяснение различных функций округления можно найти here .


Умножьте на 100, назовите потолок, разделите на 100, что, как я думаю, вы запрашиваете

public static double RoundUp(double input, int places)
{
    double multiplier = Math.Pow(10, Convert.ToDouble(places));
    return Math.Ceiling(input * multiplier) / multiplier;
}

Использование будет выглядеть так:

RoundUp(189.182, 2);

Это работает, сдвигая десятичную точку вправо на 2 позиции (так, чтобы она была справа от последних 8), затем выполняя операцию потолка, затем сдвигая десятичную точку обратно в исходное положение.


Как насчет

0.01 * ceil(100 * 189.182)




math