2015-07-27 2 views
-4

У меня есть поле, которое можно назвать Rate. Это таблица float. Когда в код C# входит свойство, это decimal. Что мне нужно сделать в моем коде, если значение приходит с более чем четырьмя десятичными знаками Мне нужно округлить. Так, например, если значение 0.44544, оно должно быть be 0.4454. Если это 0.44546, тогда он должен округлить до 0.4455. ИТ всегда должен быть 4 знака после запятой. Ничего не работает. Я получаю дополнительные нули спереди так: 0.004454.
Может ли кто-нибудь помочь мне с правильным кодом?округление поля с плавающей точкой в ​​C#

+2

Вы можете показать свой неправильный код? – Amit

+0

Я пробовал 20 разных вещей, но 1: rounded = Convert.ToDecimal (ol.MutationRate – Chris

ответ

1

Использование Math.Round:

decimal a = 1.565554M; 

Math.Round(a, 4) 
+0

Я забыл про M. Но мое поле не будет жестко закодировано. Как мне получить M в поле? чтобы быть следующим: decimal a = rate; – Chris

+2

@Chris The M требуется только для значений, которые позволяют компилятору узнать, какой он численный тип. – juharr

+0

Спасибо. Я просто понял, что код не является округлением, он просто ошибается начать с. – Chris

Смежные вопросы