所有值类型在VB.net中都可称为结构类型
8、整形
为了兼容有不同的写法,请注意:
int16 , short, UInt16,Ushort
Int32, Integer,UInteger,UInt32
Int64,UInt64,Long, ULong,UInt64
net标准用前面,是这了迁移到不同平台如64位系统时,后面有些写法是为了兼容前面的版本,以后也许Integer不是32位,可能在64位机上是64位。
(1)Short Int16
占两字节,但有时机器为了优化速度,也许占4字节,但其值是不会变的。
对应SQL类型为 SmallInt类型
(2)Integer Int32
占4字节。为了解决迁移系统问题可使用用Int32。 如果为了脱离与底层的实现方式无关,可用Integer。
对应SQL为 Integer类型
(3)Long Int64
占8字节。 对应SQL类型为 BigInteger类型
(4)为了无符号类型,可在前面加上U,取值为非负,范围涨一倍。
范围扩大并不是用无符号数的主要原因,只是为了表征某些特征,比如UInt32和32位机上的指针地址有相同特征。
8、小数(浮点)
需要说明的是Currency已经停用。
(1)Single Double
单精度尾数6位,双精度尾数14,各表达的精度和范围不一样。
Dim a As Long=Long.MaxValue
赋值可以直接在定义后写。每种类型后面都可以用MaxValue和MinValue
(2)Decimal
Single,Double虽然表达的范围大,但它们的精度不够,增加Decimal,可达28位有效数值。
共占16字节128位,其中1位符号位,96位整数值,剩下的31位是比例因子,默认是以10为底,同时31位中还包括尾数中后置0.
(3)Char Byte
因VB.net是Unicode,Char故有2位,不仅英文,汉字亦可表达。
char是无符号,负数则是错误的,同时,char是不能直接与数值型进行转换的,须指明
由字符到数值: ASC() AscW()
由数值到字符:Chr() ChrW()
另外可在字符的后面加c表示是char型
Dim a as Char="d"c '因为Sting也是双引号,所以加C更能明确知道是Char
如果同一些Com交互时,char在VB.net并不能与之前的VB6中的char等同,须用Byte来代替
(4)DateTime
存储 IEEE 64 位(8 个字节)值,表示从 0001 年 1 月 1 日到 9999 年 12 月 31 日的日期以及从午夜 12:00:00 到晚上 11:59:59.9999999 的
时间。 每个增量表示从公历第 1 年的 1 月 1 日开始经过的 100 纳秒时间。 最大值表示 10000 年 1 月 1 日开始前的 100 纳秒。
由此可以看到并不是以前VB6的Double类型。为了和VB6兼容,用ToOADate和FromOADate来支持。
Now()继续用,添加 UtcNow() (即格林威治标准时)