引言
字符串是編程中使用較廣的一種數(shù)據(jù),它由數(shù)字、字母、下劃線等組成。在使用過程中會對字符串進行格式化。在C#語言中,我們可以String.Format方法對字符串格式化。
String.Format
使用String.Format可以將對象、變量、表達式的值插入到另一個字符串。在插入時可以設置其格式、對齊和間距輸出。
格式項
string.Format("{index[,alignment][:formatString]}",args)
alignment:指定自變量的字段的總長度及對齊方式。formatString:指定輸出字符串結(jié)果的格式。
常用實例
1、插入字符串:將一個或多個變量的值插到字符串的對應位置里。// 使用 string.Format將二個變量值拼接在一起
string fileName = string.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "config.ini");
// 在控制臺輸出變量fileName的值
Console.WriteLine(fileName);
2、日期格式化:將日期類型數(shù)據(jù)按一定的格式顯示。格式符 | 描述 | 輸出效果 |
---|
d | 短日期模式 | 2024/5/4 |
D | 長日期模式 | 2024年5月4日 |
f | 完整日期或短時間模式 | 2024年5月4日 9:54 |
F | 完整日期或長時間模式 | 2024年5月4日 9:54:58 |
g | 常規(guī)日期或短時間模式 | 2024/5/4 9:54 |
G | 常規(guī)日期或長時間模式 | 2024/5/4 9:54:58 |
M或m | 月或日模式 | 5月4日 |
t | 短時間模式 | 9:54 |
T | 長時間模式 | 9:54:58 |
Y或y | 年月模式 | 2024年5月 |
// 使用d格式符 輸出 2024/5/4
Console.WriteLine(string.Format("{0:d}", System.DateTime.Now));
// 使用D格式符 輸出 2024年5月4日
Console.WriteLine(string.Format("{0:D}", System.DateTime.Now));
// 使用f格式符 輸出 2024年5月4日 9:47
Console.WriteLine(string.Format("{0:f}", System.DateTime.Now));
// 使用F格式符 輸出 2024年5月4日 9:47:51
Console.WriteLine(string.Format("{0:F}", System.DateTime.Now));
// 使用g格式符 輸出 2024/5/4 9:47
Console.WriteLine(string.Format("{0:g}", System.DateTime.Now));
// 使用G格式符 輸出 2024/5/4 9:47:51
Console.WriteLine(string.Format("{0:G}", System.DateTime.Now));
// 使用m格式符 輸出 5月4日
Console.WriteLine(string.Format("{0:m}", System.DateTime.Now));
// 使用t格式符 輸出 9:47
Console.WriteLine(string.Format("{0:t}", System.DateTime.Now));
// 使用T格式符 輸出 9:47:51
Console.WriteLine(string.Format("{0:T}", System.DateTime.Now));
// 使用y或Y格式符 2024年5月
Console.WriteLine(string.Format("{0:y}", System.DateTime.Now));
使用格式符C,它的輸出效果與我們操作系統(tǒng)的默認格式有關。下面是示例效果:
// 使用C格式符 輸出 ¥22.15,¥18.12
Console.WriteLine(string.Format("{0:C},{1:C}", 22.15, 18.12));
// 使用C格式符帶指定位數(shù) 輸出 ¥21.3,¥20.80 此次的21.26截取會自動四舍五入位21.3
Console.WriteLine(string.Format("{0:C1},{1:C3}", 21.26, 20.8));
格式符 | 描述 | 輸出效果 |
---|
D | 格式化十進制的數(shù)字 | 021 |
G | 常規(guī) | 20 |
N | 用分號隔開的數(shù)字 | 150,000.00 |
P | 格式百分比 | 20.48% |
// 使用 D 格式符 固定的位數(shù)位3 輸出 021,位數(shù)不夠以0補充
Console.WriteLine(string.Format("{0:D3}", 21));
// 使用 D 格式符 固定的位數(shù)位2 輸出 142,位數(shù)超數(shù)指定為,則按原數(shù)字輸出
Console.WriteLine(string.Format("{0:D2}", 142));
// 使用 N 格式符 輸出 132.00 默認為小數(shù)點后面兩位
Console.WriteLine(string.Format("{0:N}", 132));
// 使用 N 格式符指定保留小數(shù)位 輸出 123.246 自動四舍五入
Console.WriteLine(string.Format("{0:N3}", 123.2458));
// 使用 P 格式符 輸出 21.58% 默認為小數(shù)點后面兩位 自動四舍五入
Console.WriteLine(string.Format("{0:P}", 0.21583));
// 使用 P 格式符指定保留小數(shù)位 輸出 21.6% 自動四舍五入
Console.WriteLine(string.Format("{0:P1}", 0.21583));
可以使用"0"零占位符(位數(shù)不夠則以0補充)或"#"數(shù)字占位符,如下面的示例效果:// 使用 0 占位符 輸出 1346.23
Console.WriteLine(string.Format("{0:0000.00}", 1346.23));
// 使用 0 占位符 輸出 0154.03 超出小數(shù)被截取會自動四舍五入
Console.WriteLine(string.Format("{0:0000.00}", 154.029));
// 使用 # 數(shù)字占位符 輸出 13295.02 超出小數(shù)被截取會自動四舍五入
Console.WriteLine(string.Format("{0:###.##}", 13295.019));
// 使用 # 數(shù)字占位符 輸出124 小數(shù)位0,則不被顯示
Console.WriteLine(string.Format("{0:####.#}", 124.029));
小結(jié)
以上是C# 使用String.Format對字符串格式化的介紹,對以.NET 6及以上,我們還能使用特殊符號$的方式。
該文章在 2024/7/24 23:10:01 編輯過