2013-02-17 2 views
1

Я провел некоторое исследование и выяснил методы Math.Round и MidpointRounding.AwayFromZero.Округление чисел от 0 до C#

Второй способ делает то, что я хочу, но я не понимаю синтаксис, используемый для его использования.

Например, если у вас есть double 5.5 и вы хотите использовать нормальное округление для получения 6 и 4.4 для получения 4, как это сделать?

+0

На каком языке? (теги говорят C, заголовок C#) – wildplasser

+0

«и хотите использовать нормальное округление» ах, есть крут ... сначала определить «нормальный» :) –

+1

Просто примечание: при округлении до целого, 'double' Это хорошо. При округлении до десятичных цифр вы, скорее всего, должны использовать 'decimal'. – CodesInChaos

ответ

5

overloads of Math.Round Значение MidpointRounding в качестве параметра.

Можно поэтому написать:

Math.Round(2.225m, 2, MidpointRounding.AwayFromZero) 

и что выражение будет вычисляться 2.23.

+1

Обратите внимание, что если вас интересуют десятичные цифры, 'decimal' обычно будет лучшим типом для использования, чем' double' в любом случае ... –

+0

Существует несколько документов об этом здесь http://msdn.microsoft.com/ru -us/library/system.midpointrounding.aspx только для дополнения ответа W0lfs. – user710502

+0

должен был сделать это комментарий .. – user710502