C#中的double.ToString()如何使用

发布时间:2023-02-27 09:53:54 作者:iii
来源:亿速云 阅读:117

这篇文章主要介绍“C#中的double.ToString()如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C#中的double.ToString()如何使用”文章能帮助大家解决问题。

C# double.ToString()的用法

C# 中 double 类型的数据,有时需要格式化显示为字符串(保留N位有效数字或者是保留N位小数),可以使用 double.ToString("参数") 方法。

下面列出几个常用的方法

(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

C# Double 按有效数字 ToString

将double转换为n有效数字的字符

我找了各种帖子包括在微软文档搜索 ‘significant digits’;最接近的是ToString(“Gx”)

但是返回是不大于这个x有效位的字符串, 举例

double a=1.2;
string s=a.ToString("G3");

得到1.2而不是1.20

所以就写了一个函数

        string DoubleToStringSignificantDigits(double a, int SignificantDigits)
        {
            string formaterG = 'G' + SignificantDigits.ToString("N0");
            string strResult = a.ToString(formaterG);
            int resultLength = SignificantDigits;
            if (strResult.IndexOf('-') >= 0) resultLength++;
            if (strResult.IndexOf('.') >= 0) resultLength++;
            if (Math.Abs(a) < 1) resultLength++; //绝对值小于1,有一个整数0不算有效位
            if (strResult.Length < resultLength)
            {
                if (strResult.IndexOf('.') < 0)
                {
                    strResult += '.';
                    resultLength++;
        }
                strResult = strResult.PadRight(resultLength, '0');
            }
            return (strResult);
         }

结果

double[] x = new double[] { 100, 99, 12.12, 1.1234, 1.2, 0.2, 0.12345 , -0.2, -1.2, -123};
转换
DoubleToStringSignificantDigits(x[i], 3)
得到
100
99.0
12.1
1.12
0.200
0.123
-0.200
-1.20
-123

关于“C#中的double.ToString()如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

推荐阅读:
  1. vue中怎么导入sdk
  2. vue路由跳转实现的方法是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

上一篇:C#整数如何转二进制字符串

下一篇:C#怎么动态创建lambda表达式

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》