本文實(shí)例為大家分享了C#格式化數(shù)字字符串的具體代碼,供大家參考,具體內(nèi)容如下
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_格式化數(shù)字字符串 { class Program { static void Main( string [] args) { /* * 格式化數(shù)字字符串 * 格式說(shuō)明符的語(yǔ)法由3個(gè)字段組成:索引號(hào)、對(duì)齊說(shuō)明符、格式字段(format field) * 格式:{ index , alignment :format } * index 為索引,是必需要填寫的,表示是哪一個(gè)需要進(jìn)行格式化; * alignment 為對(duì)齊說(shuō)明符,由自己決定是否需要填寫;是一個(gè)整數(shù),其中正整數(shù)表示的是字段右對(duì)齊,負(fù)整數(shù)表示的是左對(duì)齊,填寫的數(shù)字表示的是長(zhǎng)度(寬度); * format 為格式字段,來(lái)指定由index選擇的數(shù)字的表現(xiàn)形式;需注意冒號(hào)后面緊跟格式說(shuō)明符,中間不能由空格。 * 格式說(shuō)明符 是一個(gè)字母字符;精度說(shuō)明符 是可以選擇是否需要,由1~2位數(shù)字組成。 * 具體請(qǐng)看下面的例子 */ double first = 1234.56789; double second = -12.3456789; /* * 標(biāo)準(zhǔn)數(shù)字格式說(shuō)明符 */ Console.WriteLine( "格式說(shuō)明符:" ); Console.WriteLine( "貨幣C、c(不區(qū)分大小寫) |{0, 15 :C}|{1, -15 :c3}|" , first, second); /* * 把值格式化為貨幣,貨幣符號(hào)取決與程序所在的PC的區(qū)域自動(dòng)設(shè)置 * 精度說(shuō)明符 設(shè)置的是小數(shù)位的位數(shù);如果不設(shè)置 精度說(shuō)明符 那么會(huì)自動(dòng)取2位小數(shù)。 */ Console.WriteLine( "十進(jìn)制D、d(不區(qū)分大小寫) |{0, 15 :D}|{1, -15 :d4}|" , 107, -29); /* * 十進(jìn)制數(shù)字字符串,需要注意,只能和整數(shù)類型配合使用;如果是其他類型會(huì)報(bào)錯(cuò),提示格式說(shuō)明符無(wú)效 * 精度說(shuō)明符 設(shè)置的是整個(gè)字符串的位數(shù);如果實(shí)際數(shù)字位數(shù)小于給出的精度說(shuō)明位數(shù),則在左邊補(bǔ)0。 */ Console.WriteLine( "定點(diǎn)F、f(不區(qū)分大小寫) |{0, 15 :F}|{1, -15 :f3}|" , first, second); /* * 帶有小數(shù)的十進(jìn)制數(shù)字字符串 * 精度說(shuō)明符 設(shè)置的是小數(shù)位的位數(shù);如果不設(shè)置 精度說(shuō)明符 那么會(huì)自動(dòng)取2位小數(shù)。 */ Console.WriteLine( "常規(guī)G、g(不區(qū)分大小寫) |{0, 15 :G}|{1, -15 :g4}|" , first, second); /* * 在沒(méi)有說(shuō)明符的情況下,會(huì)根據(jù)值轉(zhuǎn)換為定點(diǎn)或科學(xué)記數(shù)法表示的緊湊形式 * 精度說(shuō)明符 設(shè)置的是整個(gè)字符串的位數(shù);如果實(shí)際數(shù)字位數(shù)小于給出的精度說(shuō)明位數(shù),并不會(huì)進(jìn)行任何補(bǔ)0操作;不設(shè)置,則按原樣顯示 */ Console.WriteLine( "十六進(jìn)制X、x(區(qū)分大小寫) |{0, 15 :x5}|{1, -15 :X}|" , 107, -29); /* * 十六進(jìn)制數(shù)字的A~F會(huì)根據(jù)格式說(shuō)明符的大小寫來(lái)進(jìn)行匹配,X 匹配A~F ;x 匹配a~f * 精度說(shuō)明符 設(shè)置的是整個(gè)字符串的位數(shù);如果實(shí)際數(shù)字位數(shù)小于給出的精度說(shuō)明位數(shù),則在左邊補(bǔ)0。補(bǔ)充:字符串的位數(shù)是按轉(zhuǎn)成了十六進(jìn)制的字符串的位數(shù)。 */ Console.WriteLine( "數(shù)字N、n(不區(qū)分大小寫) |{0, 15 :N}|{0, -15 :n5}|" , first, second); /* * 和定點(diǎn)相似,但在每三個(gè)數(shù)字的一組中有逗號(hào)或空格分隔符,從小數(shù)點(diǎn)向左數(shù),取決于程序所在的PC的區(qū)域設(shè)置 * 精度說(shuō)明符 設(shè)置的是小數(shù)位的位數(shù);如果不設(shè)置 精度說(shuō)明符 那么會(huì)自動(dòng)取2位小數(shù)。 */ Console.WriteLine( "百分比P、p(不區(qū)分大小寫) |{0, 15 :P}|{1, -15 :p6}|" , first, second); /* * 表示百分比,數(shù)字會(huì)乘以100 * 精度說(shuō)明符 設(shè)置的是小數(shù)位的位數(shù);如果不設(shè)置 精度說(shuō)明符 那么會(huì)自動(dòng)取2位小數(shù)。 */ Console.WriteLine( "往返過(guò)程R、r(不區(qū)分大小寫)|{0, 15 :R}|{1, -15 :r3}|" , first, second); /* * 保證輸出字符串后,如果使用Parse方法將字符串轉(zhuǎn)化成數(shù)字,則該值與原始值一樣。 * 精度說(shuō)明符 設(shè)置了也并沒(méi)有對(duì)數(shù)據(jù)有影響。 */ Console.WriteLine( "科學(xué)記數(shù)法E、e(區(qū)分大小寫)|{0, 15 :E}|{1, -15 :e10}|" , first, second); /* * 具有尾數(shù)和指數(shù)的科學(xué)記數(shù)法。指數(shù)前加的字母E 是根據(jù)說(shuō)明符的大小寫進(jìn)行匹配的 * 精度說(shuō)明符 設(shè)置的是小數(shù)位的位數(shù)。 */ Console.ReadKey(); } } } |
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://www.cnblogs.com/Leo-Olivine/archive/2018/05/18/9057464.html