码迷,mamicode.com
首页 > Windows程序 > 详细

C# 当double数值较大且小数位过多时转化成字符串并保留小数位

时间:2015-06-24 16:18:28      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

今天在C#中碰到了一个问题,需要将double转换成字符串显示,要求保留小数位。

在网上查询了一下相关的文章

具体如下:

 

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();

 
最后转换成decimal格式的显示,在某些情况下还是不行,还会是四舍五入,例如double temp=6356911.946127947这种情况
转换为decimal格式后,显示的值为6356911.94612795 不符合要求。
在这种情况下,可以使用DoubleConverter 来进行转换,如下所示
DoubleConvert bc=new DoubleConvert();
string str=bc.ConvertToString(temp);
 
在这种情况下才会将完整的值显示出来

 

 
 

C# 当double数值较大且小数位过多时转化成字符串并保留小数位

标签:

原文地址:http://www.cnblogs.com/xkjsx/p/4597821.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!