.Net函数Math.Round你会用吗?

Posted 真爱无限

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.Net函数Math.Round你会用吗?相关的知识,希望对你有一定的参考价值。

一直以为Math.Round就是四舍五入,谁知道没加参数,得到的结果就是有问题

测试代码:

void Main()

    string.Format("Round  0 = 1",2.4M,Math.Round(2.4M,0)).Dump();
    string.Format("Round  0 = 1",2.5M,Math.Round(2.5M,0)).Dump();
    string.Format("Round  0 = 1",2.6M,Math.Round(2.6M,0)).Dump();
    string.Format("Round  0 = 1",3.4M,Math.Round(3.4M,0)).Dump();
    string.Format("Round  0 = 1",3.5M,Math.Round(3.5M,0)).Dump();
    string.Format("Round  0 = 1",3.6M,Math.Round(3.6M,0)).Dump();

输出内容:

Round  2.4 = 2
Round  2.5 = 2
Round  2.6 = 3
Round  3.4 = 3
Round  3.5 = 4
Round  3.6 = 4

官方文档:https://msdn.microsoft.com/zh-cn/library/system.midpointrounding(v=vs.110).aspx

其实,我们要做到四舍五入,只要调用重载函数,指定舍入的方式就行了,如:

string.Format("Round  0 = 1",2.5M,Math.Round(2.5M,0, MidpointRounding.AwayFromZero)).Dump();

这个结果,就是3了。

以上是关于.Net函数Math.Round你会用吗?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL中的条件判断函数,你会用吗?

批处理框架 Spring Batch 这么强,你会用吗?

批处理框架 Spring Batch 这么强,你会用吗?

比物理线程都好用的C++20的协程,你会用吗?

学霸论文必备的工具,你会用吗?

vue中$attrs $listeners你会用吗?