您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“C# Double轉(zhuǎn)化為String時(shí)的保留位數(shù)及格式方法是什么”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
有時(shí)需要將程序中的數(shù)據(jù)寫(xiě)入到文件中進(jìn)行保存,這時(shí)候就涉及到數(shù)據(jù)的字符串格式問(wèn)題。
下面介紹Double轉(zhuǎn)化為String時(shí)如何設(shè)置保留位數(shù)及格式,示例來(lái)自官方資料,本文用于日后快速查詢。
Double.ToString Method官方資料
double[] numbers= {1054.32179, -195489100.8377, 1.0437E21, -1.0573e-05}; string[] specifiers = { "C", "E", "e", "F", "G", "N", "P", "R", "#,000.000", "0.###E-000", "000,000,000,000.00###" }; foreach (double number in numbers) { Console.WriteLine("Formatting of {0}:", number); foreach (string specifier in specifiers) { Console.WriteLine(" {0,-22} {1}", specifier + ":", number.ToString(specifier)); // Add precision specifiers from 0 to 3. if (specifier.Length == 1 & ! specifier.Equals("R")) { for (int precision = 0; precision <= 3; precision++) { string pSpecifier = String.Format("{0}{1}", specifier, precision); Console.WriteLine(" {0,-22} {1}", pSpecifier + ":", number.ToString(pSpecifier)); } Console.WriteLine(); } } Console.WriteLine(); } // The example displays the following output to the console: // Formatting of 1054.32179: // C: $1,054.32 // C0: $1,054 // C1: $1,054.3 // C2: $1,054.32 // C3: $1,054.322 // // E: 1.054322E+003 // E0: 1E+003 // E1: 1.1E+003 // E2: 1.05E+003 // E3: 1.054E+003 // // e: 1.054322e+003 // e0: 1e+003 // e1: 1.1e+003 // e2: 1.05e+003 // e3: 1.054e+003 // // F: 1054.32 // F0: 1054 // F1: 1054.3 // F2: 1054.32 // F3: 1054.322 // // G: 1054.32179 // G0: 1054.32179 // G1: 1E+03 // G2: 1.1E+03 // G3: 1.05E+03 // // N: 1,054.32 // N0: 1,054 // N1: 1,054.3 // N2: 1,054.32 // N3: 1,054.322 // // P: 105,432.18 % // P0: 105,432 % // P1: 105,432.2 % // P2: 105,432.18 % // P3: 105,432.179 % // // R: 1054.32179 // #,000.000: 1,054.322 // 0.###E-000: 1.054E003 // 000,000,000,000.00###: 000,000,001,054.32179 // // Formatting of -195489100.8377: // C: ($195,489,100.84) // C0: ($195,489,101) // C1: ($195,489,100.8) // C2: ($195,489,100.84) // C3: ($195,489,100.838) // // E: -1.954891E+008 // E0: -2E+008 // E1: -2.0E+008 // E2: -1.95E+008 // E3: -1.955E+008 // // e: -1.954891e+008 // e0: -2e+008 // e1: -2.0e+008 // e2: -1.95e+008 // e3: -1.955e+008 // // F: -195489100.84 // F0: -195489101 // F1: -195489100.8 // F2: -195489100.84 // F3: -195489100.838 // // G: -195489100.8377 // G0: -195489100.8377 // G1: -2E+08 // G2: -2E+08 // G3: -1.95E+08 // // N: -195,489,100.84 // N0: -195,489,101 // N1: -195,489,100.8 // N2: -195,489,100.84 // N3: -195,489,100.838 // // P: -19,548,910,083.77 % // P0: -19,548,910,084 % // P1: -19,548,910,083.8 % // P2: -19,548,910,083.77 % // P3: -19,548,910,083.770 % // // R: -195489100.8377 // #,000.000: -195,489,100.838 // 0.###E-000: -1.955E008 // 000,000,000,000.00###: -000,195,489,100.8377 // // Formatting of 1.0437E+21: // C: $1,043,700,000,000,000,000,000.00 // C0: $1,043,700,000,000,000,000,000 // C1: $1,043,700,000,000,000,000,000.0 // C2: $1,043,700,000,000,000,000,000.00 // C3: $1,043,700,000,000,000,000,000.000 // // E: 1.043700E+021 // E0: 1E+021 // E1: 1.0E+021 // E2: 1.04E+021 // E3: 1.044E+021 // // e: 1.043700e+021 // e0: 1e+021 // e1: 1.0e+021 // e2: 1.04e+021 // e3: 1.044e+021 // // F: 1043700000000000000000.00 // F0: 1043700000000000000000 // F1: 1043700000000000000000.0 // F2: 1043700000000000000000.00 // F3: 1043700000000000000000.000 // // G: 1.0437E+21 // G0: 1.0437E+21 // G1: 1E+21 // G2: 1E+21 // G3: 1.04E+21 // // N: 1,043,700,000,000,000,000,000.00 // N0: 1,043,700,000,000,000,000,000 // N1: 1,043,700,000,000,000,000,000.0 // N2: 1,043,700,000,000,000,000,000.00 // N3: 1,043,700,000,000,000,000,000.000 // // P: 104,370,000,000,000,000,000,000.00 % // P0: 104,370,000,000,000,000,000,000 % // P1: 104,370,000,000,000,000,000,000.0 % // P2: 104,370,000,000,000,000,000,000.00 % // P3: 104,370,000,000,000,000,000,000.000 % // // R: 1.0437E+21 // #,000.000: 1,043,700,000,000,000,000,000.000 // 0.###E-000: 1.044E021 // 000,000,000,000.00###: 1,043,700,000,000,000,000,000.00 // // Formatting of -1.0573E-05: // C: $0.00 // C0: $0 // C1: $0.0 // C2: $0.00 // C3: $0.000 // // E: -1.057300E-005 // E0: -1E-005 // E1: -1.1E-005 // E2: -1.06E-005 // E3: -1.057E-005 // // e: -1.057300e-005 // e0: -1e-005 // e1: -1.1e-005 // e2: -1.06e-005 // e3: -1.057e-005 // // F: 0.00 // F0: 0 // F1: 0.0 // F2: 0.00 // F3: 0.000 // // G: -1.0573E-05 // G0: -1.0573E-05 // G1: -1E-05 // G2: -1.1E-05 // G3: -1.06E-05 // // N: 0.00 // N0: 0 // N1: 0.0 // N2: 0.00 // N3: 0.000 // // P: 0.00 % // P0: 0 % // P1: 0.0 % // P2: 0.00 % // P3: -0.001 % // // R: -1.0573E-05 // #,000.000: 000.000 // 0.###E-000: -1.057E-005 // 000,000,000,000.00###: -000,000,000,000.00001
C#中Double值用ToString()方法獲取string
若Double數(shù)字位數(shù)超過(guò)16位就會(huì)造成精度缺失
建議用取整和取小數(shù)部分再合并的方式獲取相對(duì)精確的string
“C# Double轉(zhuǎn)化為String時(shí)的保留位數(shù)及格式方法是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。