您好,登錄后才能下訂單哦!
這篇文章主要介紹“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
我找了各種帖子包括在微軟文檔搜索 ‘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()如何使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。