1、Math.Round()
Math.Round(45.367,2); //Returns 45.37
Math.Round(45.365,2); //Returns 45.36
Math.Round(1.5, 0); // 2
Math.Round(2.5, 0); // 2
Math.Round(-1.5, 0).ToString(); // -2
Math.Round(-2.5, 0).ToString(); // -2
Math.Round(45.367,2,MidpointRounding.ToEven); //Returns 45.37
Math.Round(45.365,2,MidpointRounding.ToEven); //Returns 45.36
Math.Round(1.5, 0, MidpointRounding.ToEven); // 2
Math.Round(2.5, 0, MidpointRounding.ToEven); // 2
Math.Round(-1.5, 0, MidpointRounding.ToEven).ToString(); // -2
Math.Round(-2.5, 0, MidpointRounding.ToEven).ToString(); // -2
如果不指定第三个参数,则等效为指定 MidpointRounding.ToEven,即向最近的偶数四舍五入
第三个参数还有一种情况:MidpointRounding.AwayFromZero,是指向远离 0 的地方四舍五入
也就是我们通常说的最简单的五入
2、ToString()
(0.05).ToString("0.0") //0.1
(0.15).ToString("0.0") //0.2
(0.25).ToString("0.0") //0.3
(0.35).ToString("0.0") //0.4
(0.45).ToString("0.0") //0.5
(0.55).ToString("0.0") //0.6
(0.65).ToString("0.0") //0.7
(0.75).ToString("0.0") //0.8
(0.85).ToString("0.0") //0.9
(0.95).ToString("0.0") //1.0
ToString("#0.0")和ToString("f1")和ToString("g1"),也是一样的结果
f1表示精度为1位,自动补0;g1表示精度为1位,不会补0,所以在C#中,四舍五入其实很简单,直接 ToString()就可以了
(0.65).ToString("f1") //0.7
(0.65).ToString("f3") //0.650
(0.65).ToString("g3") //0.65
ToString("#0.0")和ToString("0.0")是一样的,但ToString("0.0")和ToString("0.#")不一样:前者保留多余的0,后者省略多余的0