加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在VB6中表示64位整数?

发布时间:2020-12-17 07:20:51 所属栏目:百科 来源:网络整理
导读:我不得不扩充遗留应用程序来处理64位整数.但是,VB6没有这种数据类型.我发现在线的推荐是使用货币数据类型. 但是,我发现我遇到了一些溢出问题. 示例 – CCur调用期间溢出的结果: dim c as currency' set maximum value of int64c = CCur("922337203685477580
我不得不扩充遗留应用程序来处理64位整数.但是,VB6没有这种数据类型.我发现在线的推荐是使用货币数据类型.

但是,我发现我遇到了一些溢出问题.

示例 – CCur调用期间溢出的结果:

dim c as currency

' set maximum value of int64
c = CCur("9223372036854775807")

但是,如果我应用较小的数字(但仍然比int32大得多),它确实有效:

dim c as currency

' Remove the last 4 digits
c = CCur("922337203685477")

那我在这里错过了什么?如何处理64位值?

我需要对64位值执行的唯一操作是从SQL Server存储过程(它是sql类型bigint)中读取它们然后将其显示到表单.

解决方法

您可以将Variant数据类型与CDec()转换一起使用.

dim c as variant

' set maximum value of int64
c = CDec("9223372036854775807")

现在你甚至可以在c上使用标准的vb6数学运算或字符串转换函数.

Dim c As Variant,d As Variant

c = CDec("9223372036854775807")

Dim i As Integer

i = 1000
d = 10

Debug.Print c + i
Debug.Print c / d
Debug.Print CStr(c)

结果

9223372036854776807 
 922337203685477580,7 
9223372036854775807

请注意,Decimal类型Variant宽于64位,因此您不会在服务器端获得“溢出”:)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读