微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

这篇文章主要介绍“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()如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程之家行业资讯频道,小编每天都会为大家更新不同的知识点。

    版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

    相关推荐