C# 10进制字符串转16进制字符串
时间: 2023-10-20 17:07:04 浏览: 156
可以使用 Convert.ToString 方法将 10 进制字符串转换为整数,再使用 ToString 方法将整数转换为 16 进制字符串。示例代码如下:
```
string decimalStr = "123";
int decimalNum = Convert.ToInt32(decimalStr);
string hexStr = decimalNum.ToString("X");
Console.WriteLine(hexStr); // 输出:7B
```
相关问题
c# 16进制字符串 转成 16进制
很抱歉,引用中提到的是C#十六进制字符串转十进制int的方法,而不是转成十六进制。如果您需要将十六进制字符串转成十进制int,可以使用Convert.ToInt32(string value, int fromBase)方法,其中value为要转换的字符串,fromBase为原始进制数,例如16表示十六进制。具体操作步骤如下:
1. 将十六进制字符串赋值给一个string类型的变量。
2. 使用Convert.ToInt32(string value, int fromBase)方法将十六进制字符串转成十进制int类型。
3. 将转换后的十进制int类型赋值给一个int类型的变量。
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"
```
请注意,这只是一个示例代码,你可以根据自己的需求进行修改和优化。
阅读全文