VB有变体型(Variant)数据类型可以表示任何数据类型?
那为什么微软(Microsoft)公司要开发出那么多数据类型,比如:Byte,Boolean,Integer,Long,Single,Double,Object等数据类型...
那为什么微软(Microsoft)公司要开发出那么多数据类型,比如:Byte,Boolean,Integer,Long,Single,Double,Object等数据类型,难道仅仅使用变体型不可以吗?
展开
2个回答
2020-03-04
展开全部
Variant变体固然很好,但是它每次都要根据得到的数据去推测是字符串String 还是字节Byte,还是数组array,还是数字Integer,还是..... 这就浪费了时间(虽然我们感觉不到)。Variant 数据类型的效率极低,因为无论存储哪种类型的数据,都要占用16个字节的存储空间,不仅浪费内存,而且CPU运算起来也很“费劲”,需要进行大量的数据转换工作。
另外就是约束问题。比如你想要计算一个小数,精度要求很高,要求精确到小数点后8位。
但是Variant可能会推测是单精度,那么只能精确到后4位了。
当然还有其它更多的原因,总之程序中应该根据实际需要,用Integer,Long,Single,Double,Boolean等基本的数据类型,而少用或不用Variant数据类型。
另外就是约束问题。比如你想要计算一个小数,精度要求很高,要求精确到小数点后8位。
但是Variant可能会推测是单精度,那么只能精确到后4位了。
当然还有其它更多的原因,总之程序中应该根据实际需要,用Integer,Long,Single,Double,Boolean等基本的数据类型,而少用或不用Variant数据类型。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询