本文實例為大家分享了C#格式化數字字符串的具體代碼,供大家參考,具體內容如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _2018_05_04_AM_1520_格式化數字字符串 { class Program { static void Main( string [] args) { /* * 格式化數字字符串 * 格式說明符的語法由3個字段組成:索引號、對齊說明符、格式字段(format field) * 格式:{ index , alignment :format } * index 為索引,是必需要填寫的,表示是哪一個需要進行格式化; * alignment 為對齊說明符,由自己決定是否需要填寫;是一個整數,其中正整數表示的是字段右對齊,負整數表示的是左對齊,填寫的數字表示的是長度(寬度); * format 為格式字段,來指定由index選擇的數字的表現形式;需注意冒號后面緊跟格式說明符,中間不能由空格。 * 格式說明符 是一個字母字符;精度說明符 是可以選擇是否需要,由1~2位數字組成。 * 具體請看下面的例子 */ double first = 1234.56789; double second = -12.3456789; /* * 標準數字格式說明符 */ Console.WriteLine( "格式說明符:" ); Console.WriteLine( "貨幣C、c(不區分大小寫) |{0, 15 :C}|{1, -15 :c3}|" , first, second); /* * 把值格式化為貨幣,貨幣符號取決與程序所在的PC的區域自動設置 * 精度說明符 設置的是小數位的位數;如果不設置 精度說明符 那么會自動取2位小數。 */ Console.WriteLine( "十進制D、d(不區分大小寫) |{0, 15 :D}|{1, -15 :d4}|" , 107, -29); /* * 十進制數字字符串,需要注意,只能和整數類型配合使用;如果是其他類型會報錯,提示格式說明符無效 * 精度說明符 設置的是整個字符串的位數;如果實際數字位數小于給出的精度說明位數,則在左邊補0。 */ Console.WriteLine( "定點F、f(不區分大小寫) |{0, 15 :F}|{1, -15 :f3}|" , first, second); /* * 帶有小數的十進制數字字符串 * 精度說明符 設置的是小數位的位數;如果不設置 精度說明符 那么會自動取2位小數。 */ Console.WriteLine( "常規G、g(不區分大小寫) |{0, 15 :G}|{1, -15 :g4}|" , first, second); /* * 在沒有說明符的情況下,會根據值轉換為定點或科學記數法表示的緊湊形式 * 精度說明符 設置的是整個字符串的位數;如果實際數字位數小于給出的精度說明位數,并不會進行任何補0操作;不設置,則按原樣顯示 */ Console.WriteLine( "十六進制X、x(區分大小寫) |{0, 15 :x5}|{1, -15 :X}|" , 107, -29); /* * 十六進制數字的A~F會根據格式說明符的大小寫來進行匹配,X 匹配A~F ;x 匹配a~f * 精度說明符 設置的是整個字符串的位數;如果實際數字位數小于給出的精度說明位數,則在左邊補0。補充:字符串的位數是按轉成了十六進制的字符串的位數。 */ Console.WriteLine( "數字N、n(不區分大小寫) |{0, 15 :N}|{0, -15 :n5}|" , first, second); /* * 和定點相似,但在每三個數字的一組中有逗號或空格分隔符,從小數點向左數,取決于程序所在的PC的區域設置 * 精度說明符 設置的是小數位的位數;如果不設置 精度說明符 那么會自動取2位小數。 */ Console.WriteLine( "百分比P、p(不區分大小寫) |{0, 15 :P}|{1, -15 :p6}|" , first, second); /* * 表示百分比,數字會乘以100 * 精度說明符 設置的是小數位的位數;如果不設置 精度說明符 那么會自動取2位小數。 */ Console.WriteLine( "往返過程R、r(不區分大小寫)|{0, 15 :R}|{1, -15 :r3}|" , first, second); /* * 保證輸出字符串后,如果使用Parse方法將字符串轉化成數字,則該值與原始值一樣。 * 精度說明符 設置了也并沒有對數據有影響。 */ Console.WriteLine( "科學記數法E、e(區分大小寫)|{0, 15 :E}|{1, -15 :e10}|" , first, second); /* * 具有尾數和指數的科學記數法。指數前加的字母E 是根據說明符的大小寫進行匹配的 * 精度說明符 設置的是小數位的位數。 */ Console.ReadKey(); } } } |
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://www.cnblogs.com/Leo-Olivine/archive/2018/05/18/9057464.html