舍入到某个小数位

Dun*_*mer 0 c# rounding

我正在计算一些值的平均值.一切正常.我想要做的是将double舍入到小数点后第二位.

例如

我希望0.833333333333333333显示为0.83

反正有没有这样做?

mid*_*pat 9

围绕double自己像:

Math.Round(0.83333, 2, MidpointRounding.AwayFromZero);
Run Code Online (Sandbox Code Playgroud)

(你应该定义MidpointRounding.AwayAwayFromZero来获得正确的结果.默认这个函数使用银行家四舍五入.阅读更多关于银行家四舍五入的信息:http://www.xbeat.net/vbspeed/i_BankersRounding.htm所以你可以看到为什么这不会给你正确的结果)

或者只是两位小数的显示值:

myDouble.ToString("F");
Run Code Online (Sandbox Code Playgroud)

或者由数字确定的任何小数 #

myDouble.ToString("#.##")
Run Code Online (Sandbox Code Playgroud)