如何将double值舍入到最接近的整数

时间:2014-01-14 07:06:20

标签: c#

如何实现以下四舍五入?

0.01> 0

1.033→1

1.1> 1.5

2.1> 2.5

2.4> 2.5

2.5> 2.5

2.6> 3

1 个答案:

答案 0 :(得分:0)

所以,你想要将一个数字四舍五入到nearst 0.5,这样2.4被四舍五入到2.5,而2.6被四舍五入到3.

因此,您需要使用Math.Ceiling而不是Math.Round。只有它最接近最接近的整数,你想要到最近的一半。所以,我们这样做:

double RoundUpToHalf(double number)
{
    number *= 2;  // Turn 2.4 to 4.8
    number = Math.Ceiling(number)  // Round up to 5
    return number/2;  // Back to 2.5
}