C#怎么保留小数后面2个小数 又怎么四舍五入保留2个小数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#怎么保留小数后面2个小数 又怎么四舍五入保留2个小数相关的知识,希望对你有一定的参考价值。

C#中小数点后保留两位小数,四舍五入的函数及使用方法

Math.Round(45.367,2) //Returns 45.37

Math.Round(45.365,2) //Returns 45.36

C#中的Round()不是我们中国人理解的四舍五入,是老外的四舍五入,是符合IEEE标准的四舍五入,具体是四舍六入,下面的才是符合中国人理解的四舍五入

Math.Round(45.367,2,MidpointRounding.AwayFromZero);//45.37

Math.Round(45.365,2,MidpointRounding.AwayFromZero) //Returns 45.37追问

不是的,结果都是45.37

参考技术A 1.

Convert.ToDouble(i).ToString("0.00")
2.
Math.Round(0.333333,2);//按照四舍五入的国际标准
3.
double dbdata=0.335333;
string str1=String.Format("0:F",dbdata);//默认为保留两位
4.
float i=0.333333;
int j=(int)(i * 100);
i = j/100;
5.
decimal.Round(decimal.Parse("0.3333333"),2)
6.
private System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo();
float test=0.333333f;
nfi.NumberDecimalDigits=2;
string result=test.ToString("N", nfi);
7.
string result= String.Format("0:N2",Convert.ToDecimal("0.333333").ToString());

(转载)追问

怎么没有显示结果

追答

追问

第三个是12是被强制转换小数舍去了吗?

😂四舍五入都被你玩坏了

追答

功能有很多种方法可以实现,像这种保留几位小数的,我最常用的是
Convert.todouble(n).tostring("0.00"),这个可以理解为强制转化为"0.00"格式,以此类推,也可以为"0.000","0.0000"。其他的几种方法我也是转载来的,有注明,没事可以琢磨琢磨,共同学习,一起进步。

追问

以后有疑问,就直接问你啦,😁

以上是关于C#怎么保留小数后面2个小数 又怎么四舍五入保留2个小数的主要内容,如果未能解决你的问题,请参考以下文章

C#中怎么对double型取两位小数。

C#中如何只保留小数点后面两位?

C#中如何保留小数点后一位

vb.net怎么设置数字保留小数点位数

怎么把Excel小数点后面的数字精确到两位数!!!

在C#中怎么控制float的值保留小数的位数