Ваше понимание неверно.
Вы указали десятичное значение 0, поэтому указанное значение будет округлено до целого числа.
Из MSDN «Если значение первой цифры в d справа от десятичной позиции, представленной параметром десятичных знаков, равно 5, цифра в десятичной позиции округляется в большую сторону, если она нечетная, или остается одна, если она четная»
Поскольку первое значение справа от десятичной точки равно 4, а не пяти, возвращаемое значение равно 1.
Если бы десятичное значение было 1,55, то ответ был бы 2.
Если бы десятичное значение было 2,55, то ответ тоже был бы 2!
Поскольку вы указываете поведение округления средней точки, это будет изменено, но вы просите, чтобы округление работало с десятичными знаками = 0, оно будет проверять только первую цифру после десятичной точки.
На самом деле, если вы указали десятичные знаки = 1, как в
Math.Round(1.45,1)
Тогда ваш ответ будет 1,4, так как он проверяет вторую цифру после запятой для округления первой.
person
ChrisBD
schedule
06.09.2010