文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C# Double转化为String时的保留位数及格式方法是什么

2023-07-05 06:32

关注

本篇内容介绍了“C# Double转化为String时的保留位数及格式方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Double转化为String时的保留位数及格式

有时需要将程序中的数据写入到文件中进行保存,这时候就涉及到数据的字符串格式问题。

下面介绍Double转化为String时如何设置保留位数及格式,示例来自官方资料,本文用于日后快速查询。

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

Double类型转String 类型出现精度丢失问题

C#中Double值用ToString()方法获取string

若Double数字位数超过16位就会造成精度缺失

建议用取整和取小数部分再合并的方式获取相对精确的string

“C# Double转化为String时的保留位数及格式方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯