2进制、8进制、16进制...各种进制间轻松转换(VB.NET)

来源:互联网 发布:爱淘宝红包链接地址 编辑:程序博客网 时间:2024/05/22 06:38
在 .NET Framework 中, System.Convert 类中提供了较为全面的各种类型、数值之间的转换功能。其中的两个方法可以轻松的实现各种进制的数值间的转换:
 
Convert.ToInt32(value As String, fromBase As Integer)
 
可以把不同进制数值的字符串转换为数字,其中 fromBase 参数为进制的格式,只能是2、8、10及16。
其中 value 必须可以转换成数字,例如“nn”、“1100.001”都是不合法的输入,前这是“为找到任何可分析的位”异常,后者是“字符串末尾有其他无法分析的字符”异常,但是如果数的各位数字超过了进制,则也会报和第一个一样的错误。
 
比如:Convert.ToInt32("0010", 2) 执行的结果为 2。
 
Convert.ToString(value As Integer, toBase As Integer)
 
可以把一个数字转换为不同进制数值的字符串格式,其中 toBase 参数为进制的格式,只能是2、8、10及16。
 
比如:Convert.ToString(2, 2) 执行的结果为 "0010"
 
现在我们做一个方法实现各种进制间的字符串自由转换:选把它转成数值型,然后再转成相应的进制的字符串:
 
Public Function ConvertString( _
        ByVal value As String, _
        ByVal fromBase As Integer, _
        ByVal toBase As Integer) As String
    Dim n As Integer = Convert.ToInt32(value, fromBase)
    Return Convert.ToString(n, toBase)
End Function
0 0
原创粉丝点击