C# VB 实现10进制 16进制之间互相转换

Habiba ·
更新时间:2024-11-13
· 826 次阅读

方法1:
代码如下:
int d=10;
d.ToString("x") //或把x改为X,,,就变成了16位的字符串了.
int x=Convert.ToInt32(d.ToString("x"),16);//把16进制的字符串变回10进制的.

方法2:
代码如下:
static void Main()
{
int i = 446;
string hex = i.ToString( "X" /* or x * );
Console.WriteLine( hex );
int j = HexToInt( hex );
Console.WriteLine( j );
}
static int HexToInt(string hex)
{
hex = Regex.Replace(hex, "^0x", "", RegexOptions.IgnoreCase);
if (Regex.IsMatch(hex, "[g-z]", RegexOptions.IgnoreCase))
{
throw new Exception("Invalid Hexadecimal Expression.: 0x" + hex);
}
char[] chars = hex.ToUpper().ToCharArray();
Array.Reverse(chars);
int dec = 0;
for (int i = 0; i < chars.Length; i++)
{
dec += HexMapping(chars[i]) * (int)Math.Pow(16, i);
}
return dec;
}
static int HexMapping(char c)
{
switch (c)
{
case '0':
return 0;
case '1':
return 1;
case '2':
return 2;
case '3':
return 3;
case '4':
return 4;
case '5':
return 5;
case '6':
return 6;
case '7':
return 7;
case '8':
return 8;
case '9':
return 9;
case 'A':
return 10;
case 'B':
return 11;
case 'C':
return 12;
case 'D':
return 13;
case 'E':
return 14;
case 'F':
return 15;
default :
throw new Exception("Invalid Hexadecimal Character :" + c.ToString());
}
}
您可能感兴趣的文章:vb.net与c#相互转换工具 网站地址列表常用工具之 vb转化C# 数据连接串 正则表达式查询 源码世界 脚本字典ACCESS的参数化查询,附VBSCRIPT(ASP)和C#(ASP.NET)函数asp.net 程序性能优化的七个方面 (c#(或vb.net)程序改进)在C#中调用VBScript、javascript等脚本的实现代码javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同asp.net 验证码的简单制作(vb.net+C#)获取客户端IP地址c#/vb.net各自实现代码C#利用ScriptControl动态执行JS和VBS脚本如何让C#、VB.NET实现复杂的二进制操作C#实现只运行单个实例应用程序的方法(使用VB.Net的IsSingleInstance)C#中的除法运算符与VB.NET中的除法运算符C#、vb.net及SQL判断指定年份是否为闰年的方法C#调用VB进行简繁转换的方法C#中调用VB中Inputbox类的实现方法



vb 16进制 进制 C#

需要 登录 后方可回复, 如果你还没有账号请 注册新账号