小编Jee*_*van的帖子

System.Math.Round错误?

我正在写一个函数将数字四舍五入到两个地方.当我试图围绕特定值时,我发现了一个错误.所以,我运行了代码:

class Program {
    static void Main(string[] args) {
        int limit = 100;

        for (int number = 0; number <= limit; number++) {
            Console.WriteLine((System.Math.Round((double)(number+0.995),2,MidpointRounding.AwayFromZero)));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我发现: 8.99 9.99 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 32.99 33.99 34.99 35.99 36.99 37.99 38.99 39.99

数字未四舍五入到下一个值.

当我运行相同的代码直到1500:我得到数字:

8.99 9.99 32.99 33.99 38.99 35.99 36.99 37.99 38.99 39.99 1024.99 1025.99 1026.99 1027.99 1028.99 1029.99 1030.99 1031.99 …

.net rounding

7
推荐指数
1
解决办法
693
查看次数

标签 统计

.net ×1

rounding ×1