溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時間:2023-02-27 09:53:54 來源:億速云 閱讀:114 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“C#中的double.ToString()如何使用”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強(qiáng),希望這篇“C#中的double.ToString()如何使用”文章能幫助大家解決問題。

    C# double.ToString()的用法

    C# 中 double 類型的數(shù)據(jù),有時需要格式化顯示為字符串(保留N位有效數(shù)字或者是保留N位小數(shù)),可以使用 double.ToString("參數(shù)") 方法。

    下面列出幾個常用的方法

    (F)Fixed point:string str1=temp.ToString("f1");              //保留一位小數(shù) 四舍五入 結(jié)果:3.1
    
    (F)Fixed point:string str2=temp.ToString("f2");              //保留兩位小數(shù),四舍五入 下面一次類推 結(jié)果:3.14
    
    (N)Number:string str2=temp.ToString("N");                   //保留 結(jié)果:3.14
    
    (G)General (default):string str2=temp.ToString("G");    //保留 結(jié)果:3.1415926
    
    (P)Percent:string str2=temp.ToString("P");                   //保留 結(jié)果:314.16%
    
    (E)Scientific:string str2=temp.ToString("E");                 //保留 結(jié)果E:3.141593E+000
    
    (C)Currency:string str2=temp.ToString("C");                //保留 結(jié)果:¥3.14

    C# Double 按有效數(shù)字 ToString

    將double轉(zhuǎn)換為n有效數(shù)字的字符

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

    但是返回是不大于這個x有效位的字符串, 舉例

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

    得到1.2而不是1.20

    所以就寫了一個函數(shù)

            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,有一個整數(shù)0不算有效位
                if (strResult.Length < resultLength)
                {
                    if (strResult.IndexOf('.') < 0)
                    {
                        strResult += '.';
                        resultLength++;
            }
                    strResult = strResult.PadRight(resultLength, '0');
                }
                return (strResult);
             }

    結(jié)果

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

    關(guān)于“C#中的double.ToString()如何使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI