在.NET Framework中,System.Convert类中提供了较为全面的各种类型、数值之间的转换功能。其中的两个方法可以轻松的实现各种进制的数值间的转换:
Convert.ToInt32(string value, int fromBase)
可以把不同进制数值的字符串转换为数字,其中fromBase参数为进制的格式,只能是2、8、10及16:
如Convert.ToInt32("0010",2)执行的结果为2;
Convert.ToString(int value, int toBase):
可以把一个数字转换为不同进制数值的字符串格式,其中toBase参数为进制的格式,只能是2、8、10及16:
如Convert.ToString(2,2)执行的结果为"0010"
现在我们做一个方法实现各种进制间的字符串自由转换:选把它转成数值型,然后再转成相应的进制的字符串:
Function ConvertString(ByVal value As String, ByVal fromBase As Integer, ByVal toBase As Integer)
Dim intValue As Integer = Convert.ToInt32(value, fromBase)
Return Convert.ToString(intValue, toBase)
End Function
Dim intValue As Integer = Convert.ToInt32(value, fromBase)
Return Convert.ToString(intValue, toBase)
End Function
其中fromBase为原来的格式
toBase为将要转换成的格式