.NET 中的数字格式化
每次用到数字格式化的时候,总是想不起来,还要上网搜索,在此记录,以备查询。
摘抄自 Standard numeric format strings | Microsoft Docs
格式指定符 | 名称 | 描述 | 示例 |
"C" 或 "c" | Currency |
结果:货币数值 支持:所有数值类型 精度指定:小数数字的位数 默认精度指定:定义在 NumberFormatInfo.CurrencyDecimalDigits 更多信息: The Currency ("C") Format Specifier |
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 |
结果:带有可选负号的整形数字 支持:仅支持整数 精度指定:最小为数字的位数 默认精度指定:最小为数字的位数 更多信息: The Decimal("D") Format Specifier |
1234("D") -> 1234 -1234("D6") -> -001234 |
"E" 或 "e" | Exponential (scientific) |
结果:指数表示法 支持:所有数值类型 精度指定:十进制位数 默认精度指定:6 更多信息: The Exponential ("E") Format Specifier |
1052.0329112756 ("E", en-US) 1052.0329112756 ("e", fr-FR) -1052.0329112756 ("e2", en-US) -1052.0329112756 ("E2", fr-FR) |
"F" 或 "f" | Fixed-point |
结果:带有可选负号的整数和小数 支持:所有数值类型 精度指定:小数位数 默认精度指定:NumberFormatInfo.NumberDecimalDigits 更多信息:The Fixed-Point ("F") Format Specifier |
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,5600 |
"G" 或 "g" | General | 结果:更紧凑的定点或科学计数法
支持:所有数值类型 精度指定:有效位数 默认精度指定:依赖于数值类型 更多信息:The General ("G") Format Specifier |
-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) |
"N" 或 "n" | Number | 结果:整数和小数位、组分隔符以及带可选负号的小数点分隔符
支持:所有数值类型 精度指定:有效位数 默认精度指定:NumberFormatInfo.NumberDecimalDigits 更多信息:The Numeric ("N") Format Specifier |
1234.567 ("N", en-US) -> 1,234.57 1234.567 ("N", ru-RU) -> 1 234,57 1234 ("N1", en-US) -> 1,234.0 1234 ("N1", ru-RU) -> 1 234,0 -1234.56 ("N3", en-US) -> -1,234.560 -1234.56 ("N3", ru-RU) -> -1 234,560 |
"P" 或 "p" | Percent | 结果:数字乘以 100 并以符号百分比显示 支持:所有数值类型 精度指定:所需小数位数 默认精度指定:NumberFormatInfo.PercentDecimalDigits 更多信息:The Percent ("P") Format Specifier |
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" | Round-trip | 结果:可以互相转换为相同字符串 支持:Single, Double, and BigInteger 注意:仅仅推荐 BigInteger 类型使用. 对于 Double 类型, 使用 "G17"; 对于 Single 类型, 使用 "G9" 精度指定:所需小数位数 默认精度指定:忽略 更多信息:The Round-trip ("R") Format Specifier |
123456789.12345678 ("R") -> 123456789.12345678 -1234567890.12345678 ("R") -> -1234567890.1234567 |
"X" 或 "x" | Hexadecimal | 结果:16 进制字符串 支持:仅仅整数类型 精度指定:结果字符串中的数字位数 更多信息:The HexaDecimal ("X") Format Specifier |
255 ("X") -> FF -1 ("x") -> ff 255 ("x4") -> 00ff -1 ("X4") -> 00FF |