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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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。

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

参考技术A 在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();
参考技术B 方式很多,列出以下三种:
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

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

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

1)保持原来的float类型值不变,显示或输出时指定小数点位数 

float x = 62.11512322f;
//用 "f2" 指定小数点后2位
string s =  string s =string.Format("0:f2", x);
//结果 s = "62.12"float x = 62.11512322f;
//将 x 后小数点位数指定为2(四舍五入)
float x = (float)Math.Round((double)x, 2)
// 结果: x = 62.12

   

参考技术A %.2f是保留两位小数
%.3f是保留三位小数
参考技术B num.Tostring("0.00");

or

Convert.ToDecimal(num).ToString("f2");本回答被提问者采纳

以上是关于C#中怎么对double型取两位小数。的主要内容,如果未能解决你的问题,请参考以下文章

java中double保留两位小数

java怎么取实数中的小数部分

java、怎样简便的保留小数点后两位。

bigdecimal multiply 怎么保留2位小数

小数(decimal,double) 截取两位或多位,不四舍五入

C#中的decimal怎么保留两位小数