首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VB6中的IsDouble()?

VB6中的IsDouble()?
EN

Stack Overflow用户
提问于 2009-04-08 16:19:29
回答 5查看 5.7K关注 0票数 3

VB6中有没有IsDouble()函数?如果我没记错的话,VB6中的双精度数据类型等同于SQL Server2000中的浮点型。您的建议将不胜感激。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-04-08 16:30:08

代码语言:javascript
复制
Function IsDouble(ByVal varValue As Variant) As Boolean
   Dim dblTest As Double
   On Error Resume Next
   dblTest = CDbl(varValue)
   IsDouble = Err.Number = 0 
End Function
票数 6
EN

Stack Overflow用户

发布于 2009-04-17 07:20:33

实际上,使用Vartype函数要好得多。

代码语言:javascript
复制
Private Function IsDouble(ByVal value As Variant) As Boolean
    IsDouble = (VarType(value) = vbDouble)
End Function
票数 10
EN

Stack Overflow用户

发布于 2009-04-08 17:23:06

IsNumeric()很好,它只接受适合Double的值。它是区域识别的,即对于法国区域设置,十进制分隔符是逗号。

我只是在“即时”窗口中尝试了一下。

代码语言:javascript
复制
Debug.Print IsNumeric("4e308") 
False

手册中对VB6双精度变量的定义是"VB6双变量存储为IEEE64位(8字节)浮点数,负值的取值范围为-1.79769313486232E308到-4.94065645841247E-324,正值的取值范围为4.94065645841247E-324到1.79769313486232E308“。

我认为这与使用在线docs的SQL Server浮动是一样的。具有以下有效值的浮点精度数字数据:-1.79E + 308到-2.23E - 308、0和2.23E + 308到1.79E +308。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/730747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档