vb.net 教程 1-6 数据类型:数值数据转换2
2017-05-12 20:23
459 查看
不同于上一节的一般数值到字符串的转换
本节谈谈进制间的转换,主要涉及十进制转到二进制、八进制和十六进制以及二进制、八进制和十六进制转到十进制。
之前在vb6中对进制间的转换是比较麻烦的事情,但是vb.net就简单多了,只需要使用到Convert 类,将一个基本数据类型转换为另一个基本数据类型。
看以下代码:
运行结果:
使用到的方法:
ToString(value As Integer, toBase As Integer):
输出字符串,value表示对应的十进制数值,toBase只能是2、8、10或者16,表示进制。
ToInt32 (value As String, fromBase As Integer):
输出Int32整数,value字符串表示一个二进制、八进制和、十进制或者十六进制的数,fromBase只能是2、8、10或者16,表示进制。
如果使用了不能转换的数据,那么运行时会发生错误。将字符串设为"qff"再按照十六进制转为十进制,由于q不是十六进制的有效数字,所以发生错误:
另外补充2点:
1、format()方法也可以将十进制转为十六进制字符串
但是遗憾的是,不能将十六进制字符串转为十进制整型数值。
2、整型数值也可以直接定义为十六进制形式,常常用于常量的定义:
Private Const FILE_SHARE_READ As Integer = &H1
如下代码:
如果定义了一个整型的十六进制数值,那么可以使用format转为十进制的整型数值:
完整的代码及输出结果:
Sub main()
Dim k As Integer = &H23
Console.WriteLine("k=" & k)
Console.WriteLine("十进制转为十六进制:" & Format(k, "D"))
Console.ReadKey()
End Sub
本节谈谈进制间的转换,主要涉及十进制转到二进制、八进制和十六进制以及二进制、八进制和十六进制转到十进制。
之前在vb6中对进制间的转换是比较麻烦的事情,但是vb.net就简单多了,只需要使用到Convert 类,将一个基本数据类型转换为另一个基本数据类型。
看以下代码:
Sub main() Dim i As Integer i = 255 Console.WriteLine("十进制转为二进制:" & Convert.ToString(i, 2)) Console.WriteLine("十进制转为八进制:" & Convert.ToString(i, 8)) Console.WriteLine("十进制转为十六进制:" & Convert.ToString(i, 16)) Dim x As String x = "11111111" Console.WriteLine("二进制转为十进制:" & Convert.ToInt32(x, 2)) x = "377" Console.WriteLine("二进制转为十进制:" & Convert.ToInt32(x, 8)) x = "ff" Console.WriteLine("十六进制转为十进制:" & Convert.ToInt32(x, 16)) Console.ReadKey() End Sub
运行结果:
使用到的方法:
ToString(value As Integer, toBase As Integer):
输出字符串,value表示对应的十进制数值,toBase只能是2、8、10或者16,表示进制。
ToInt32 (value As String, fromBase As Integer):
输出Int32整数,value字符串表示一个二进制、八进制和、十进制或者十六进制的数,fromBase只能是2、8、10或者16,表示进制。
如果使用了不能转换的数据,那么运行时会发生错误。将字符串设为"qff"再按照十六进制转为十进制,由于q不是十六进制的有效数字,所以发生错误:
另外补充2点:
1、format()方法也可以将十进制转为十六进制字符串
Sub main() Dim i As Integer i = 255 Console.WriteLine("十进制转为十六进制:" & Format(i, "x")) Console.ReadKey() End Sub
但是遗憾的是,不能将十六进制字符串转为十进制整型数值。
2、整型数值也可以直接定义为十六进制形式,常常用于常量的定义:
Private Const FILE_SHARE_READ As Integer = &H1
如下代码:
Dim k As Integer = &H23 Console.WriteLine("k=" & k)
如果定义了一个整型的十六进制数值,那么可以使用format转为十进制的整型数值:
Console.WriteLine("十进制转为十六进制:" & Format(k, "D"))
完整的代码及输出结果:
Sub main()
Dim k As Integer = &H23
Console.WriteLine("k=" & k)
Console.WriteLine("十进制转为十六进制:" & Format(k, "D"))
Console.ReadKey()
End Sub
相关文章推荐
- vb.net 教程 1-6 数据类型:数值数据转换 1
- vb.net 教程 1-4 数据类型:数值数据1
- vb.net 教程 1-3 数据类型:String 2
- vb.net 教程 1-7 数据类型:Boolean
- vb.net 教程 1-2 数据类型:String
- ASP.NET AJAX客户端编程教程(3)——让JavaScript和C#无障碍沟通:数据类型自动转换&序列化
- 第一章:VB.NET函数——转换数据类型函数
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(5):服务器端和客户端数据类型的自动转换:基本类型和枚举类型
- Flex AS3与 ADO.NET Entity Framework 实体对象数据类型转换(转)
- 在C#中将任意数值类型数据与字节数组相互转换的一个方法
- VB.NET中 从字符串“XX”到类型“Double”的转换无效
- vb.NET中的-类型转换
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(10):服务器端和客户端数据类型的自动转换:以XML方式序列化数据、小结
- VB 6.0和VB.NET 2005实现CRC算法在位运算及数据类型方面的差异
- VB.NET学习笔记--类型转换
- asp.net和vb.net中类型转换问题
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(9):服务器端和客户端数据类型的自动转换:DataTable和DataSet
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(9):服务器端和客户端数据类型的自动转换:DataTable和DataSet
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(6):服务器端和客户端数据类型的自动转换:复杂类型
- vb.net 获取数据表 字段名和数据类型