close

String.Format舉例(C#,VB.Net)

我自己在用到的:

String.Format("字符串:{0:d5}", 12)
"字符串:00012" '佔位5個,不足的用0代替
String.Format("字符串:{0,5}", 12)
"字符串:   12" '佔位5個,不足的用空格代替,右對齊
String.Format("字符串:{0,-5}", 12)
"字符串:12   " '佔位5個,不足的用空格代替,左對齊

String.Format("字符串:{0:#,0.0000}", 12)
"字符串:12.0000"
String.Format("字符串:{0:#0,0.00}", 12)
"字符串:12.00"
String.Format("字符串:{0:#0,0.00}", 12000)
"字符串:12,000.00"
String.Format("字符串:{0:D#0.0000}", 12)
"字符串:D12.0000"
String.Format("字符串:{0:D2.5}", 12)
"字符串:D2125"
String.Format("字符串:{0:D0.0}", 12)
"字符串:D12.0"
String.Format("字符串:{0:D0.0000}", 12)
"字符串:D12.0000"
String.Format("字符串:{0:#00,0.00}", 12000)
"字符串:12,000.00"
String.Format("字符串:{0:#00,0.00}", 12)
"字符串:012.00"
String.Format("字符串:{0:#00,0.00}", 1200)
"字符串:1,200.00"
String.Format("字符串:{0:#000.00}", 1200)
"字符串:1200.00"
String.Format("字符串:{0:#000.00}", 12)
"字符串:012.00"
String.Format("字符串:{0:#000.00}", 1)
"字符串:001.00"
格式字符  名稱  說明 
0
 零佔位符
 如 果格式化的值在格式字符串中出現「0」的位置有一個數字,則此數字被復制到輸出字符串中。小數點前最左邊的「0」的位置和小數點後最右邊的「0」的位置確 定總在輸出字符串中出現的數字范圍。「00」說明符使得值被舍入到小數點前最近的數字,其中零位總被舍去。例如,用「00」格式化 34.5 將得到值 35。
 
#
 數字佔位符
 如果格式化的值在格式字符串中出現「#」的位置有一個數字,則此數字被復制到輸出字符串中。否 則,輸出字符串中的此位置不存儲任何值。請注意,如果「0」不是有效數字,此說明符永不顯示「0」字符,即使「0」是字符串中唯一的數字。如果「0」是所 顯示的數字中的有效數字,則顯示「0」字符。「##」格式字符串使得值被舍入到小數點前最近的數字,其中零總被舍去。例如,用「##」格式化 34.5 將得到值 35。
 
.
 小數點
 格式字符串中的第一個「.」字符確定格式化的值中的小數點分隔符的位置;任何其他「.」字符被忽略。用作小數點分隔符的實際字符由控制格式化的 NumberFormatInfo 的 NumberDecimalSeparator 屬性確定。
 
,
 千位分隔符和數字比例換算
 「,」 字符有兩種用途。首先,如果格式字符串在小數點(如果有)左邊的兩個數字佔位符(0 或 #)之間包含「,」字符,則輸出將在小數點分隔符左邊的每三個數字之間插入千位分隔符。輸出字符串中用作小數點分隔符的實際字符由控制格式化的當前 NumberFormatInfo 的 NumberGroupSeparator 屬性確定。

其次,如果格式字符串在緊鄰小數點的左側包含一個或多個「,」字符,則數字在格式化之前將被「,」字符數除然後乘以 1000。例如,格式字符串「0,,」將 100,000,000 簡單表示為 100。使用「,」字符指示比例換算在格式化數字中不包括千位分隔符。因此,若要將數字縮小 1,000,000 倍並插入千位分隔符,應使用格式字符串「#,##0,,」。
 
%
 百分比佔位符
 在格式字符串中出現「%」字符將導致數字在格式化之前乘以 100。適當的符號插入到數字本身在格式字符串中出現「%」的位置。使用的百分比字符由當前的 NumberFormatInfo 類確定。
 


常用的:字符型轉換 轉為字符串
12345.ToString("n"); //生成 12,345.00
12345.ToString("C"); //生成 ¥12,345.00
12345.ToString("e"); //生成 1.234500e+004
12345.ToString("f4"); //生成 12345.0000
12345.ToString("x"); //生成 3039 (16進制)
12345.ToString("p"); //生成 1,234,500.00%

C# 格式化數值結果表(格式化字符串)

    C 貨幣 string.Format("{0:C3}", 2) $2.000
    D 十進制 string.Format("{0:D3}", 2) 002
    E 科學計數法 1.20E+001 1.20E+001
    G 常規 string.Format("{0:G}", 2) 2
    N 用分號隔開的數字 string.Format("{0:N}", 250000) 250,000.00
    X 十六進制 string.Format("{0:X000}", 12)  C

    string.Format("{0:000.000}", 12.2)  012.200

MSDN格式化概述:

http://msdn.microsoft.com/zh-cn/library/26etazsy.aspx

MSDN復合格式化:

http://msdn.microsoft.com/zh-cn/library/txafckwd.aspx

自定義數字格式字符串

http://msdn.microsoft.com/zh-cn/library/0c899ak8.aspx

補充內容:

來源: http://hi.baidu.com/wlx_sm/blog/item/d04b898b24bfe3d2fc1f1030.html

2007-04-13 10:01
stringstr1 =string.Format("{0:N1}",56789);                //result: 56,789.0
stringstr2 =string.Format("{0:N2}",56789);                //result: 56,789.00
stringstr3 =string.Format("{0:N3}",56789);                //result: 56,789.000
stringstr8 =string.Format("{0:F1}",56789);                //result: 56789.0
stringstr9 =string.Format("{0:F2}",56789);                //result: 56789.00
stringstr11 =(56789 / 100.0).ToString("#.##");            //result: 567.89
stringstr12 =(56789 / 100).ToString("#.##");              //result: 567

C 或 c
貨幣
Console.Write("{0:C}", 2.5);   //$2.50
Console.Write("{0:C}", -2.5); //($2.50)

D 或 d
十進制數
Console.Write("{0:D5}", 25);   //00025

E 或 e
科學型
Console.Write("{0:E}", 250000);   //2.500000E+005

F 或 f
固定點
Console.Write("{0:F2}", 25);   //25.00
Console.Write("{0:F0}", 25);   //25

G 或 g
常規
Console.Write("{0:G}", 2.5);   //2.5

N 或 n
數字
Console.Write("{0:N}", 2500000);   //2,500,000.00

X 或 x
十六進制
Console.Write("{0:X}", 250);   //FA
Console.Write("{0:X}", 0xffff);   //FFFF
 


------------------------

更多更詳細的內容:

www.yaosansi.com/post/360.html

http://blog.csdn.net/sunchaohuang/archive/2009/02/16/3894808.aspx

 

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/linjimu/archive/2009/04/18/4090575.aspx

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 nineaddnine 的頭像
    nineaddnine

    nineaddnine的部落格

    nineaddnine 發表在 痞客邦 留言(0) 人氣()