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

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

1、首先 double 类型时,在C#中是素双精度浮点类型。

一般在显示的时候如果要求保留两位小数点时,最快捷的办法是使用 string.Format("{0:F2}",double) 直接保留两位小数点输出。

2、若需要考虑到2位后面的数据进行计算四舍五入。

则使用:Math.Round(45.367,2,MidpointRounding.AwayFromZero); //Returns 45.37

扩展资料:

double(双精度浮点数)使用 64 位(8字节) 来储存一个浮点数,即双精度浮点型

占8 个字节(64位)内存空间。其数值范围为1.7E-308~1.7E+308,双精度完全保证的有效数字是15位,16位只是部分数值有保证。

在C语言中可以用格式化输入输出语句scanf和printf进行double类型的输入输出,格式化字符为%lf。

参考资料来源:百度百科-双精度浮点型

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-13
在C#中大家都会遇到这种情况 double类型的数据,需要格式化(保留N未有效数字)或者是保留N为小数等情况,我们往往采取double.tostring("参数");的方法。下面就列出几个常用的方法。
double temp=3.1415926;
(F)Fixed point:string str1=temp.toString("f1");//保留一位小数 四舍五入 结果:3.1
(F)Fixed point:string str2=temp.toString("f2");//保留两位小数,四舍五入 下面一次类推 结果:3.14
(N)Number:string str2=temp.toString("N");//保留 结果:3.14
(G)General (default):string str2=temp.toString("G");//保留 结果:3.1415926
(P)Percent:string str2=temp.toString("P");//保留 结果:314.16%
(E)Scientific:string str2=temp.toString("E");//保留 结果E:3.141593E+000
(C)Currency:string str2=temp.toString("C");//保留 结果:¥3.14

对于double temp=0.000000926的情况,上述方法都不管用,可以通过转成decimal格式再显示。如下所示:
string str = ((decimal)temp).toString();
第2个回答  2011-08-29
方式很多,列出以下三种:
double d = Math.Round(0.239768451, 2); //d=0.24
string s = 0.239768451.ToString("0.##"); //s=0.24
string ss = String.Format("{0:F} ", 0.239768451); //ss=0.24

以上方法均为四舍五入,不四舍五入的方法好像要编一个函数来解决。把这个数划分为整数部分和小数部分,小数部分转为字符串,然后从非零部分截取两位。
第3个回答  2011-08-31
double bbb= System.Math.Round(1.2201201, 2);
输入的 double 值为 1.2201201,
处理结果为 1.22
第4个回答  2011-08-29
double string.Format("{0:N2",1.23456);
N后边的数字2即为保留的位数
结果为1.23

C#中怎么对double型取两位小数。
1、首先 double 类型时,在C#中是素双精度浮点类型。一般在显示的时候如果要求保留两位小数点时,最快捷的办法是使用 string.Format("{0:F2}",double) 直接保留两位小数点输出。2、若需要考虑到2位后面的数据进行计算四舍五入。则使用:Math.Round(45.367,2,MidpointRounding.AwayFromZero); \/\/Retur...

C#里如何实现精确到两位小数?
在C#中,可以通过Decimal、Double或Float类型的变量结合ToString方法实现保留两位小数。以下是对该方法的 1. 使用Decimal类型:Decimal类型本身就是为了精确的小数计算而设计的。当你声明一个Decimal变量并为其赋值时,可以直接按照需要的格式进行字符串转换,并保留两位小数。例如:csharp Decimal number = 123...

c#怎么样让double保留两位小数?
1、 Math.Round(0.333333,2);\/\/按照四舍五入的国际标准 2、 double dbdata=0.335333; string str1=String.Format("{0:F}",dbdata);\/\/默认为保留两位 3、 float i=0.333333; int j=(int)(i * 100); i = j\/100; 4、 decimal.Round(decimal.Parse 5、 private System.Globalizatio...

c#怎么样让double保留两位小数 求解
1、Math.Round(0.333333,2);\/\/按照四舍五入的国际标准 2、double dbdata=0.335333;string str1=String.Format("{0:F}",dbdata);\/\/默认为保留两位 3、float i=0.333333;int j=(int)(i * 100);i = j\/100;4、decimal.Round(decimal.Parse("0.3333333"),2)5、private System.Globaliz...

c#如何实现保留两位小数
在C#中,实现保留两位小数的方法有很多种,以下是几种常见的方式:1. 使用Math.Round方法,四舍五入是国际标准:Math.Round(0.333333, 2);2. 对double类型的数值,可以使用String.Format格式化,保留两位小数:double dbdata = 0.335333; string str1 = String.Format("{0:F2}", dbdata);3. ...

C#怎么把double 存成两位精度小数
如果有小数点,使用indexof判断小数点位置,然后根据字符串总长度,如123.45,得到小数点位置为3,总长度为6,那么就得到的结果就是6-1-3=2,得到结论,如果小数点位置在a,总长度为b,那么结果就是b-1-a

C#怎么把double 存成两位精度小数
如果有小数点,使用indexof判断小数点位置,然后根据字符串总长度,如123.45,得到小数点位置为3,总长度为6,那么就得到的结果就是6-1-3=2,得到结论,如果小数点位置在a,总长度为b,那么结果就是b-1-a

c#怎么样让double保留两位小数
保留2位小数:double result = Math.Round((decimal)a\/b,2);保留2位小数(四舍五入):decimal result = Math.Round((decimal)a \/ b, 2, MidpointRounding.AwayFromZero);

c#怎么样让double保留两位小数
Math.Round(1000.44444, 2);方式很多 可参考http:\/\/zuoye.baidu.com\/question\/ccd1bfd06abfa1fca834a98bbe429ab1.html

c#中怎么控制double类型输出的位数
.ToString("fn")); \/\/其中n为你需要保留的位数,比如f2就是保留两位小数。

相似回答