一尘不染

如何在C#中四舍五入到最接近的整数

c#

如何将值四舍五入到最接近的整数?

例如:

1.1 => 1
1.5 => 2
1.9 => 2

“ Math.Ceiling()”对我没有帮助。有任何想法吗?


阅读 1170

收藏
2020-05-19

共1个答案

一尘不染

有关更多信息,请参见官方文档。例如:

基本上,给该Math.Round方法三个参数。

  1. 您要舍入的值。
  2. 您要保留在该值后面的小数位数。
  3. 您可以调用一个可选参数来使用AwayFromZero舍入。( 除非四舍五入,否则忽略,例如1.5

样例代码:

var roundedA = Math.Round(1.1, 0); // Output: 1
var roundedB = Math.Round(1.5, 0, MidpointRounding.AwayFromZero); // Output: 2
var roundedC = Math.Round(1.9, 0); // Output: 2
var roundedD = Math.Round(2.5, 0); // Output: 2
var roundedE = Math.Round(2.5, 0, MidpointRounding.AwayFromZero); // Output: 3
var roundedF = Math.Round(3.49, 0, MidpointRounding.AwayFromZero); // Output: 3

现场演示

如果需要MidpointRounding.AwayFromZero四舍五入一个.5值,则需要。不幸的是,这不是的默认行为Math.Round()。如果使用MidpointRounding.ToEven(默认)值,则四舍五入为最接近的
偶数1.5四舍五入为2,但2.5也四舍五入为2)。

2020-05-19