总结了C#中string.format用法。分享给大家供大家参考。具体分析如下:
生活随笔
收集整理的這篇文章主要介紹了
总结了C#中string.format用法。分享给大家供大家参考。具体分析如下:
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
String.Format 方法的幾種定義:
String.Format (String, Object) 將指定的 String 中的格式項替換為指定的 Object 實例的值的文本等效項。
String.Format (String, Object[]) 將指定 String 中的格式項替換為指定數(shù)組中相應 Object 實例的值的文本等效項。
String.Format (IFormatProvider, String, Object[]) 將指定 String 中的格式項替換為指定數(shù)組中相應 Object 實例的值的文本等效項。指定的參數(shù)提供區(qū)域性特定的格式設置信息。
String.Format (String, Object, Object) 將指定的 String 中的格式項替換為兩個指定的 Object 實例的值的文本等效項。?
String.Format (String, Object, Object, Object) 將指定的 String 中的格式項替換為三個指定的 Object 實例的值的文本等效項。
?
常用的格式化數(shù)值結(jié)果表
?
| 字符 | 說明 | 示例 | 輸出 |
| C | 貨幣 | string.Format("{0:C3}", 2) | $2.000 |
| D | 十進制 | string.Format("{0:D3}", 2) | 002 |
| E | 科學計數(shù)法 | 1.20E+001 | 1.20E+001 |
| G | 常規(guī) | string.Format("{0:G}", 2) | 2 |
| N | 用分號隔開的數(shù)字 | string.Format("{0:N}", 250000) | 250,000.00 |
| X | 十六進制 | string.Format("{0:X000}", 12) | C |
| ? | ? | string.Format("{0:000.000}", 12.2) | 012.200 |
常用的幾種實例
?
1、字符串的數(shù)字格式 復制代碼 代碼如下: string str1 =string.Format("{0:N1}",56789);?????????????? //result: 56,789.0
?string str2 =string.Format("{0:N2}",56789);?????????????? //result: 56,789.00
?string str3 =string.Format("{0:N3}",56789);?????????????? //result: 56,789.000
?string str8 =string.Format("{0:F1}",56789);?????????????? //result: 56789.0
?string str9 =string.Format("{0:F2}",56789);?????????????? //result: 56789.00
?string str11 =(56789 / 100.0).ToString("#.##");?????????? //result: 567.89
?string str12 =(56789 / 100).ToString("#.##");???????????? //result: 567
?
2、格式化貨幣(跟系統(tǒng)的環(huán)境有關,中文系統(tǒng)默認格式化人民幣,英文系統(tǒng)格式化美元)
復制代碼 代碼如下: string.Format("{0:C}",0.2) 結(jié)果為:¥0.20 (英文操作系統(tǒng)結(jié)果:$0.20)
默認格式化小數(shù)點后面保留兩位小數(shù),如果需要保留一位或者更多,可以指定位數(shù) 復制代碼 代碼如下: string.Format("{0:C1}",23.15) 結(jié)果為:¥23.2 (截取會自動四舍五入)
格式化多個Object實例 復制代碼 代碼如下: string.Format("市場價:{0:C},優(yōu)惠價{1:C}",23.15,19.82)
?
3、格式化十進制的數(shù)字(格式化成固定的位數(shù),位數(shù)不能少于未格式化前,只支持整形)
復制代碼 代碼如下: string.Format("{0:D3}",23) //結(jié)果為:023
string.Format("{0:D2}",1223) //結(jié)果為:1223,(精度說明符指示結(jié)果字符串中所需的最少數(shù)字個數(shù)。)
?
4、用分號隔開的數(shù)字,并指定小數(shù)點后的位數(shù)
復制代碼 代碼如下: string.Format("{0:N}", 14200) //結(jié)果為:14,200.00 (默認為小數(shù)點后面兩位)
string.Format("{0:N3}", 14200.2458) //結(jié)果為:14,200.246 (自動四舍五入)
?
5、格式化百分比
string.Format("{0:P}", 0.24583) //結(jié)果為:24.58% (默認保留百分的兩位小數(shù))
string.Format("{0:P1}", 0.24583) //結(jié)果為:24.6% (自動四舍五入)
?
6、零占位符和數(shù)字占位符
復制代碼 代碼如下: string.Format("{0:0000.00}", 12394.039) //結(jié)果為:12394.04
string.Format("{0:0000.00}", 194.039) //結(jié)果為:0194.04
string.Format("{0:###.##}", 12394.039) //結(jié)果為:12394.04
string.Format("{0:####.#}", 194.039) //結(jié)果為:194
?
下面的這段說明比較難理解,多測試一下實際的應用就可以明白了。
零占位符: 如果格式化的值在格式字符串中出現(xiàn)“0”的位置有一個數(shù)字,則此數(shù)字被復制到結(jié)果字符串中。小數(shù)點前最左邊的“0”的位置和小數(shù)點后最右邊的“0”的位置確定總在結(jié)果字符串中出現(xiàn)的數(shù)字范圍。 “00”說明符使得值被舍入到小數(shù)點前最近的數(shù)字,其中零位總被舍去。
數(shù)字占位符: 如果格式化的值在格式字符串中出現(xiàn)“#”的位置有一個數(shù)字,則此數(shù)字被復制到結(jié)果字符串中。否則,結(jié)果字符串中的此位置不存儲任何值。
請注意,如果“0”不是有效數(shù)字,此說明符永不顯示“0”字符,即使“0”是字符串中唯一的數(shù)字。如果“0”是所顯示的數(shù)字中的有效數(shù)字,則顯示“0”字符。 “##”格式字符串使得值被舍入到小數(shù)點前最近的數(shù)字,其中零總被舍去。
?
7、日期格式化
?
復制代碼 代碼如下: string.Format("{0:d}",System.DateTime.Now) //結(jié)果為:2009-3-20 (月份位置不是03)
string.Format("{0:D}",System.DateTime.Now) //結(jié)果為:2009年3月20日
string.Format("{0:f}",System.DateTime.Now) //結(jié)果為:2009年3月20日 15:37
string.Format("{0:F}",System.DateTime.Now) //結(jié)果為:2009年3月20日 15:37:52
string.Format("{0:g}",System.DateTime.Now) //結(jié)果為:2009-3-20 15:38
string.Format("{0:G}",System.DateTime.Now) //結(jié)果為:2009-3-20 15:39:27
string.Format("{0:m}",System.DateTime.Now) //結(jié)果為:3月20日
string.Format("{0:t}",System.DateTime.Now) //結(jié)果為:15:41
string.Format("{0:T}",System.DateTime.Now) //結(jié)果為:15:41:50 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎
總結(jié)
以上是生活随笔為你收集整理的总结了C#中string.format用法。分享给大家供大家参考。具体分析如下:的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 选择结构 案例分析
- 下一篇: c#中out、ref和params的用法