C#中采用的是"四舍五入六成双"
- <font size="3">Console.WriteLine(Math.Round(1.73, 1));// 运行结果1.7
- Console.WriteLine(Math.Round(1.76, 1));// 运行结果1.8
- Console.WriteLine(Math.Round(1.75, 1));// 运行结果1.8
- Console.WriteLine(Math.Round(1.65, 1));// 运行结果1.6</font>
复制代码
在网上查了一些方法并验证了一下发现,有很多都实现不了四舍五入的功能,
不过还好找到了一个比较好的方法说明如下
- <font size="3">double Num = 1.765565;
- string mNum = (Math.Truncate(Num * 1000000) / 1000000.0f).ToString("0.00000");
- Console.WriteLine(mNum);</font>
复制代码
说明:这里Num是你要转换的双精度浮点数,Num乘以一个整数(10000...)有几个小数位就加几个0,后面再除以一个和前面一样的数不过是小数形式,ToString()中的参数小数位就是你要四舍五入的位数。
测试结果截图如下:
|