标准数字格式字符串用于格式化通用数值类型。 标准数字格式字符串采用 Axx 的形式。
A 是称为“格式说明符” 的单个字母字符。
xx 是称为“精度说明符” 的可选整数。 精度说明符的范围从 0 到 99,并且影响结果中的位数。
常用格式
十进制(“D”)格式说明符
“D”或“d” :表示10进制;
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13
| int value;
value = 12345; Console.WriteLine(value.ToString("D"));
Console.WriteLine(value.ToString("D8"));
value = -12345; Console.WriteLine(value.ToString("D"));
Console.WriteLine(value.ToString("D8"));
|
定点(“F”)格式说明符
定点(“F”)格式说明符将数字转换为“-ddd.ddd…”形式的字符串,其中每个“d”表示一个数字 (0-9)。 如果该数字为负,则该字符串以减号开头。
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
| int integerNumber; integerNumber = 17843; Console.WriteLine(integerNumber.ToString("F", CultureInfo.InvariantCulture));
integerNumber = -29541; Console.WriteLine(integerNumber.ToString("F3", CultureInfo.InvariantCulture));
double doubleNumber; doubleNumber = 18934.1879; Console.WriteLine(doubleNumber.ToString("F", CultureInfo.InvariantCulture));
Console.WriteLine(doubleNumber.ToString("F0", CultureInfo.InvariantCulture));
doubleNumber = -1898300.1987; Console.WriteLine(doubleNumber.ToString("F1", CultureInfo.InvariantCulture));
Console.WriteLine(doubleNumber.ToString("F3", CultureInfo.CreateSpecificCulture("es-ES")));
|
百分比(“P”)格式说明符
百分比(“P”)格式说明符将数字乘以 100 并将其转换为表示百分比的字符串。
“P”或“p”
1 2 3 4 5 6 7 8
| double number = .2468013; Console.WriteLine(number.ToString("P", CultureInfo.InvariantCulture));
Console.WriteLine(number.ToString("P", CultureInfo.CreateSpecificCulture("hr-HR")));
Console.WriteLine(number.ToString("P1", CultureInfo.InvariantCulture));
|
数字(“N”)格式说明符
数字(”N”)格式说明符将数字转换为”-d,ddd,ddd.ddd…”形式的字符串
“N”或“n”
1 2 3 4 5 6 7 8 9 10
| double dblValue = -12445.6789; Console.WriteLine(dblValue.ToString("N", CultureInfo.InvariantCulture));
Console.WriteLine(dblValue.ToString("N1", CultureInfo.CreateSpecificCulture("sv-SE")));
int intValue = 123456789; Console.WriteLine(intValue.ToString("N1", CultureInfo.InvariantCulture));
|
十六进制(“X”)格式说明符
十六进制(“X”)格式说明符将数字转换为十六进制数的字符串。
“X”或“x”
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| int value;
value = 0x2045e; Console.WriteLine(value.ToString("x"));
Console.WriteLine(value.ToString("X"));
Console.WriteLine(value.ToString("X8"));
value = 123456789; Console.WriteLine(value.ToString("X"));
Console.WriteLine(value.ToString("X2"));
|
十六进制的表示:
C语言、Shell、Python语言及其他相近的语言使用字首“0x”,例如“0x5A3”。开头的“0”令解析器更易辨认数,而“x”则代表十六进制。在“0x”中的“x”可以大写或小写。
参考:
.NET 中的格式类型
标准数字格式字符串
复合格式设置
自定义数字格式字符串