C# int.ToString()

本文深入解析.NET中的数值转换样式,包括货币、十进制数、科学型、固定点、常规、数字、十六进制等样式,并提供示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


格式说明符 说明 示例 输出
C 货币 2.5.ToString("C") ¥2.50
D 十进制数 25.ToString("D5") 00025
E 科学型 25000.ToString("E") 2.500000E+005
F 固定点 25.ToString("F2") 25.00
G 常规 2.5.ToString("G") 2.5
N 数字 2500000.ToString("N") 2,500,000.00
X 十六进制 255.ToString("X") FF
### 使用 `ToString` 方法转换数值为不同进制的字符串表示 在 C# 中,可以利用内置的方法来实现各种进制间的相互转化。对于整数类型的变量来说,可以直接调用其 `ToString` 方法并传入特定格式说明符作为参数来进行进制转换。 #### 十六进制转换 当希望将以字节数组形式存储的数据转化为十六进制字符串时,可借助于 `BitConverter.ToString()` 函数[^1]: ```csharp byte[] vals = new byte[]{0x01, 0xAA, 0xB1, 0xDC, 0x10, 0xDD}; string str = BitConverter.ToString(vals); Console.WriteLine(str); // 输出: "01-AA-B1-DC-10-DD" str = BitConverter.ToString(vals).Replace("-", ""); Console.WriteLine(str); // 输出: "01AAB1DC10DD" ``` 而对于单独的一个整型数值,则可以通过指定 `"X"` 或者 `"x"` 的格式化字符串给 `ToString` 来获得对应的大小写的十六进制表达方式[^4]: ```csharp int decimalValue = 255; string hexUpper = decimalValue.ToString("X"); // 大写字母 'F' string hexLower = decimalValue.ToString("x"); // 小写字母 'f' Console.WriteLine($"Decimal {decimalValue} to Hex Upper is {hexUpper}"); Console.WriteLine($"Decimal {decimalValue} to Hex Lower is {hexLower}"); // 结果分别为:"FF", "ff" ``` #### 其他进制转换 除了十六进制外,还可以通过类似的手段完成其他基础进制(如二进制、八进制)的转换工作。例如,要得到某个整数的二进制表示,只需传递 `"B"` 给 `ToString`;而获取八进制则应使用 `"O"` 参数: ```csharp int number = 255; // Binary conversion using custom format provider or Convert class. string binaryRepresentation = Convert.ToString(number, 2); // Octal conversion also via the Convert class since there's no direct specifier for octals with ToString(). string octalRepresentation = Convert.ToString(number, 8); Console.WriteLine(binaryRepresentation); // Output will be "11111111" Console.WriteLine(octalRepresentation); // Output will be "377" ``` 值得注意的是,在标准库中并没有直接提供用于生成八进制字符串的 `ToString` 格式化选项,因此这里采用了 `Convert.ToString(int value, int toBase)` 方式代替。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值