代码改变世界

标准数字格式字符串 .ToString(); String.Format();

2010-07-17 15:43  calm_水手  阅读(443)  评论(0编辑  收藏  举报

http://msdn.microsoft.com/zh-cn/library/dwhawy9k.aspx

 

标准数字格式字符串用于格式化通用数值类型。标准数字格式字符串采用 Axx 的形式,其中 A 是称为格式说明符的字母型字符,xx 是称为精度说明符的可选整数。精度说明符的范围从 0 到 99,并且影响结果中的位数。任何包含一个以上字母字符(包括空白)的数字格式字符串都被解释为自定义数字格式字符串。有关更多信息,请参见自定义数字格式字符串

所有数字类型的 ToString 方法的某些重载支持标准数字格式字符串。例如,可将数字格式字符串提供给 Int32 类型的 ToString(String) 方法和 ToString(String, IFormatProvider) 方法。.NET Framework 复合格式化功能也支持标准数字格式字符串,该功能由 ConsoleStreamWriter 类的某些 WriteWriteLine 方法、String.Format 方法以及 StringBuilder.AppendFormat 方法使用。

 

下表描述标准的数字格式说明符并显示由每个格式说明符产生的示例输出。有关使用标准数字格式字符串的其他信息,请参见注释一节;有关使用方法的完整演示,请参见示例一节。

格式说明符

名称

说明

示例

“C”或“c”

Currency

结果:货币值。

受以下类型支持:所有数值类型。

精度说明符:小数位数。

默认值精度说明符:由 System.Globalization.NumberFormatInfo 定义。

更多信息:货币(“C”)格式说明符

123.456 ("C", en-US) -> $123.46

123.456 ("C", fr-FR) -> 123,46 €

123.456 ("C", ja-JP) -> ¥123

-123.456 ("C3", en-US) -> ($123.456)

-123.456 ("C3", fr-FR) -> -123,456 €

-123.456 ("C3", ja-JP) -> -¥123.456

“D”或“d”

Decimal

结果:整型数字,负号可选。

受以下类型支持:仅整型。

精度说明符:最小位数。

默认值精度说明符:所需的最小位数。

更多信息:十进制(“D”)格式说明符

1234 ("D") -> 1234

-1234 ("D6") -> -001234

“E”或“e”

指数(科学型)

结果:指数记数法。

受以下类型支持:所有数值类型。

精度说明符:小数位数。

默认值精度说明符:6。

更多信息:指数(“E”)格式说明符

1052.0329112756 ("E", en-US) -> 1.052033E+003

1052.0329112756 ("e", fr-FR) -> 1,052033e+003

-1052.0329112756 ("e2", en-US) -> -1.05e+003

-1052.0329112756 ("E2", fr_FR) -> -1,05E+003

“F”或“f”

定点

结果:整数和小数,负号可选。

受以下类型支持:所有数值类型。

精度说明符:小数位数。

默认值精度说明符:由 System.Globalization.NumberFormatInfo 定义。

更多信息:定点(“F”)格式说明符

1234.567 ("F", en-US) -> 1234.57

1234.567 ("F", de-DE) -> 1234,57

1234 ("F1", en-US) -> 1234.0

1234 ("F1", de-DE) -> 1234,0

-1234.56 ("F4", en-US) -> -1234.5600

-1234.56 ("F4", de-DE) -> -1234,5000

“G”或“g”

常规

结果:最紧凑的定点表示法或科学记数法。

受以下类型支持:所有数值类型。

精度说明符:有效位数。

默认值精度说明符:取决于数值类型。

更多信息:常规(“G”)格式说明符

-123.456 ("G", en-US) -> -123.456

123.456 ("G", sv-SE) -> -123,456

123.4546 ("G4", en-US) -> 123.5

123.4546 ("G4", sv-SE) -> 123,5

-1.234567890e-25 ("G", en-US) -> -1.23456789E-25

-1.234567890e-25 ("G", sv-SE) -> -1,23456789E-25

“N”或“n”

数字

结果:整数和小数、组分隔符和小数分隔符,负号可选。

受以下类型支持:所有数值类型。

精度说明符:所需的小数位数。

默认值精度说明符:由 System.Globalization.NumberFormatInfo 定义。

更多信息:数字(“N”)格式说明符

1234.567 ("N", en-US) -> 1,234.57

1234.567 ("N", ru-RU) -> 1 234,57

1234 ("N", en-US) -> 1,234.0

1234 ("N", ru-RU) -> 1 234,0

-1234.56 ("N", en-US) -> -1,234.560

-1234.56 ("N", ru-RU) -> -1 234,560

P 或 p

百分比

结果:乘以 100 并显示百分比符号的数字。

受以下类型支持:所有数值类型。

精度说明符:所需的小数位数。

默认值精度说明符:由 System.Globalization.NumberFormatInfo 定义。

更多信息:百分比(“P”)格式说明符

1 ("P", en-US) -> 100.00 %

1 ("P", fr-FR) -> 100,00 %

-0.39678 ("P1", en-US) -> -39.7 %

-0.39678 ("P1", fr-FR) -> -39,7 %

R 或 r

往返过程

结果:可以往返至相同数字的字符串。

受以下类型支持:SingleDoubleBigInteger

精度说明符:忽略。

更多信息:往返过程(“R”)格式说明符

123456789.12345678 ("R") -> 123456789.12345678

-1234567890.12345678 ("R") -> -1234567890.1234567

X 或 x

十六进制

结果:十六进制字符串。

受以下类型支持:仅整型。

精度说明符:结果字符串中的位数。

更多信息:十六进制(“X”)格式说明符

255 ("X") -> FF

-1 ("x") -> ff

255 ("x4") -> 00ff

-1 ("X4") -> 00FF

任何其他单个字符

未知说明符

结果:在运行时引发 FormatException