zoukankan      html  css  js  c++  java
  • String Format for Double [C#]

    转载:http://www.csharp-examples.net/string-format-double/

    he following examples show how to format float numbers to string in C#. You can use static method String.Format or instance methods double.ToString and float.ToString.

    Digits after decimal point

    This example formats double to string with fixed number of decimal places. For two decimal places use pattern „0.00“. If a float number has less decimal places, the rest digits on the right will be zeroes. If it has more decimal places, the number will be rounded.

    [C#]

    // just two decimal places
    String.Format("{0:0.00}", 123.4567);      // "123.46"
    String.Format("{0:0.00}", 123.4);         // "123.40"
    String.Format("{0:0.00}", 123.0);         // "123.00"
    
    

    Next example formats double to string with floating number of decimal places. E.g. for maximal two decimal places use pattern „0.##“.

    [C#]

    // max. two decimal places
    String.Format("{0:0.##}", 123.4567);      // "123.46"
    String.Format("{0:0.##}", 123.4);         // "123.4"
    String.Format("{0:0.##}", 123.0);         // "123"
    
    

    Digits before decimal point

    If you want a float number to have any minimal number of digits before decimal point use N-times zero before decimal point. E.g. pattern „00.0“ formats a float number to string with at least two digits before decimal point and one digit after that.

    [C#]

    // at least two digits before decimal point
    String.Format("{0:00.0}", 123.4567);      // "123.5"
    String.Format("{0:00.0}", 23.4567);       // "23.5"
    String.Format("{0:00.0}", 3.4567);        // "03.5"
    String.Format("{0:00.0}", -3.4567);       // "-03.5"
    
    

    Thousands separator

    To format double to string with use of thousands separator use zero and comma separator before an usual float formatting pattern, e.g. pattern „0,0.0“ formats the number to use thousands separators and to have one decimal place.

    [C#]

    String.Format("{0:0,0.0}", 12345.67);     // "12,345.7"
    String.Format("{0:0,0}", 12345.67);       // "12,346"
    
    

    Zero

    Float numbers between zero and one can be formatted in two ways, with or without leading zero before decimal point. To format number without a leading zero use # before point. For example „#.0“ formats number to have one decimal place and zero to N digits before decimal point (e.g. „.5“ or „123.5“).

    Following code shows how can be formatted a zero (of double type).

    [C#]

    String.Format("{0:0.0}", 0.0);            // "0.0"
    String.Format("{0:0.#}", 0.0);            // "0"
    String.Format("{0:#.0}", 0.0);            // ".0"
    String.Format("{0:#.#}", 0.0);            // ""
    
    

    Align numbers with spaces

    To align float number to the right use comma „,“ option before the colon. Type comma followed by a number of spaces, e.g. „0,10:0.0“ (this can be used only in String.Format method, not in double.ToString method). To align numbers to the left use negative number of spaces.

    [C#]

    String.Format("{0,10:0.0}", 123.4567);    // "     123.5"
    String.Format("{0,-10:0.0}", 123.4567);   // "123.5     "
    String.Format("{0,10:0.0}", -123.4567);   // "    -123.5"
    String.Format("{0,-10:0.0}", -123.4567);  // "-123.5    "
    
    

    Custom formatting for negative numbers and zero

    If you need to use custom format for negative float numbers or zero, use semicolon separator „;“ to split pattern to three sections. The first section formats positive numbers, the second section formats negative numbers and the third section formats zero. If you omit the last section, zero will be formatted using the first section.

    [C#]

    String.Format("{0:0.00;minus 0.00;zero}", 123.4567);   // "123.46"
    String.Format("{0:0.00;minus 0.00;zero}", -123.4567);  // "minus 123.46"
    String.Format("{0:0.00;minus 0.00;zero}", 0.0);        // "zero"
    
    

    Some funny examples

    As you could notice in the previous example, you can put any text into formatting pattern, e.g. before an usual pattern „my text 0.0“. You can even put any text between the zeroes, e.g. „0aaa.bbb0“.

    [C#]

    String.Format("{0:my number is 0.0}", 12.3);   // "my number is 12.3"
    String.Format("{0:0aaa.bbb0}", 12.3);          // "12aaa.bbb3"
    

     

  • 相关阅读:
    Javascript校验密码复杂度的正则表达式
    Git合并指定文件到另一个分支
    WebForm SignalR 实时消息推送
    基于SignalR的消息推送与二维码描登录实现
    yarn 错误There appears to be trouble with your network connection. Retrying...
    使用SqlConnectionStringBuilder构造数据库连接字符串
    邮箱核心业务领域建模
    C# NuGet常用命令
    阿里P7架构师是如何解决跨域问题的!你有遇到吗?
    WinForm 之 自定义标题栏的窗体移动
  • 原文地址:https://www.cnblogs.com/xiashengwang/p/6888291.html
Copyright © 2011-2022 走看看