C# 10进制字符串转16进制字符串
时间: 2023-10-20 21:07:04 浏览: 163
可以使用 Convert.ToString 方法将 10 进制字符串转换为整数,再使用 ToString 方法将整数转换为 16 进制字符串。示例代码如下:
```
string decimalStr = "123";
int decimalNum = Convert.ToInt32(decimalStr);
string hexStr = decimalNum.ToString("X");
Console.WriteLine(hexStr); // 输出:7B
```
相关问题
c#16进制字符串转10进制
要将C#中的16进制字符串转换为10进制,可以使用以下代码段:
```csharp
public long convertToint(string sum)
{
long vars = 0;
var c = sum.ToCharArray().Reverse().ToArray();
for (int i = 0; i < c.Length; i++)
{
if (isLetters(c[i]) == -1)
{
vars = -1;
break;
}
vars = (long)(isLetters(c[i]) * Math.Pow(16, i));
}
return vars;
}
public int isLetters(char c)
{
int i = 0;
switch (c=Char.ToLower(c))
{
case '0': i = 0; break;
case '1': i = 1; break;
case '2': i = 2; break;
case '3': i = 3; break;
case '4': i = 4; break;
case '5': i = 5; break;
case '6': i = 6; break;
case '7': i = 7; break;
case '8': i = 8; break;
case '9': i = 9; break;
case 'a': i = 10; break;
case 'b': i = 11; break;
case 'c': i = 12; break;
case 'd': i = 13; break;
case 'e': i = 14; break;
case 'f': i = 15; break;
default: i = -1; break;
}
return i;
}
```
该`convertToint`函数接受一个16进制字符串作为参数,并将其转换为对应的10进制值。如果字符串不是16进制形式,则返回-1。
用法示例:
```csharp
string hexString = "1A";
long decimalValue = convertToint(hexString);
Console.WriteLine(decimalValue); // 输出 "26"
```
请注意,这只是一个示例代码,你可以根据自己的需求进行修改和优化。
c# 16进制字符串转10进制
在 C# 中,你可以通过将 16 进制字符串转换成 `int` 或 `long` 类型来实现从 16 进制到 10 进制的转换。可以使用 `Int32.Parse()` 或 `Int64.Parse()` 方法,如果字符串表示的是无符号整数,则可以使用 `Convert.ToInt32()` 或 `Convert.ToInt64()`,它们都可以接受前缀 "0x" 表示十六进制。
例如:
```csharp
string hexString = "FF"; // 代表二进制的 11111111
int decimalValue = Int32.Parse(hexString, System.Globalization.NumberStyles.HexNumber);
// 或者
long ulongValue = Convert.ToInt64(hexString, 16); // 16 表示基数是 16
Console.WriteLine(decimalValue); // 输出:4294967295
```
如果你不确定输入的字符串是否有效,还可以加上异常处理来避免转换错误:
```csharp
try {
int decimalValue = Int32.Parse(hexString, System.Globalization.NumberStyles.HexNumber);
} catch (FormatException) {
Console.WriteLine("无效的十六进制字符串");
}
```
阅读全文