变体双亚型超过最大值

2023-12-11

当我查看“变体数据类型”文档时,它说具有 double 子类型的变体可以支持最大“1.79769313486232E308”(15 位数字)的正值,并且 “当包含货币、小数和双精度值的变体变量超出其各自的范围时,会发生错误。” 但是,当我运行以下代码时:

y = 999999999999999999999999999
y = CStr(CDBL(y))
MsgBox y

我没有收到错误,而是收到一个带有以下输出的消息框:“1e+27”(27 是 y 中的位数)。

对此有何解释? “y”如何存储在内存中?

我在变体文档和 CDbl 函数文档中都没有找到答案。

Thanks.


将数字数量分配给变体时,vbscript 运行时将选择最佳的变体类型来匹配该数量。

在您的情况下,文字对于整型来说太大,因此它将它分配给double“亚型”。

将此大小的双精度数转换为字符串将产生科学计数法形式的字符串。

至于你的文档

“1.79769313486232E308”(15 位数字)

有点误导。读作 15有效数字这大约是浮点的精度级别double精密型。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

变体双亚型超过最大值 的相关文章

  • VBScript 中的对象/类字典

    vbscript 中是否可以有对象 类的字典 例如 Class employeeclass Public first last salary End Class Dim employeedict Set employeedict Creat
  • Double.toString 对于大值没有指数表示法

    在我的 JSF2 应用程序中 我希望显示双精度值而不使用指数表示法 是否可以 我无法使用NumberFormat or DecimalFormat因为它将把我的数据类型更改为字符串 我从Java文档中了解到 如果我的double值小于10
  • 等待程序完成

    为了监视带宽使用情况并且不要在启动时加载不必要的程序 我想先执行dumeter exe 然后执行firefox exe 当我关闭firefox时 它应该杀死dumeter 我使用以下代码启动 Set WshShell WScript Cre
  • VBscript 以提升的权限运行 bat 文件

    这是我的bat文件 REG DELETE HKLM Software Microsoft Windows CurrentVersion WindowsUpdate v SusClientId f REG DELETE HKLM Softwa
  • 如何在 C++ 中将 CString 转换为 double?

    我如何转换CString to a double在 C 中 Unicode 支持也很好 Thanks A CString可以转换为LPCTSTR 这基本上是一个const char const wchar t 在 Unicode 版本中 知
  • 我对一些小概念感到困惑

    我对 VBscript 非常陌生 正在努力学习所有概念 在我的实践过程中 我一直有一个疑问 dim a b c set a CreateObject scripting filesystemobject initiate the file
  • 经典的asp字符编码

    我在经典 asp 网站中遇到西班牙字符问题 用户可以在 aspx 页面上的表单中提交他们的姓名 地址 然后 aspx 页面将 ajax post 发送到经典的 asp 页面 它所做的所有操作都存储在我们的 Sql 2008 DB 中 我可以
  • 尝试绑定到 AD 用户对象时出现错误 2147463168

    我正在 Windows 2012 不是 R2 并且无法升级 AD 环境上工作 当我使用管理员 非管理员 帐户从 vbscript 运行以下代码时 它运行完美 然而 当我以普通用户运行它时 我得到一个 2147463168 这似乎是一个绑定错
  • 使用 cscript.exe 而不是 wscript.exe 在 VBScript 中执行文件

    我知道如何使用 wscript exe 执行 exe 如下所示 Set WshShell WScript CreateObject WScript Shell WshShell Run c myprogram exe 但我被迫使用 cscr
  • VBScript for Excel:如何选择源数据 (.SetSourceData)?

    我已经在谷歌和这里搜索了这个问题的答案 但没有成功 如果之前有人问过 那么我道歉 我正在尝试使用 VBScript 自动执行一些管理任务 此特定脚本的目的是从文本文件 包含文本和数字列 中获取一些使用情况统计信息 并根据数据制作折线图 创建
  • 字符串格式:负/正浮点数

    我该如何使用String Format在 C 中 双精度数显示如下 example 1 000 1 000 100 123 1000 321 1000 214 etc 其中 是空格 我能做的就是String Format 0 F3 123
  • 整数与双精度算术性能?

    我正在编写一个 C 类来使用整数执行 2D 可分离卷积 以获得比双对应更好的性能 问题是我没有获得真正的性能提升 这是 X 过滤器代码 对于 int 和 double 情况都有效 foreach pixel int value 0 for
  • 如何在VBS中使用Excel内置常量[重复]

    这个问题在这里已经有答案了 我想使用VBScript而不是VBA来处理EXCEL 但是我在调 用Range Find方法时遇到了代码错误 见下文 Function find range wb domain var Dim sheet Dim
  • C++ 中的无符号双精度?

    为什么 C 不支持无符号双精度语法 因为典型的浮点格式不支持无符号数 例如 参见此 IEEE 754 格式列表 http en wikipedia org wiki IEEE 754 2008 Formats 添加通用硬件不支持的数字格式只
  • 如何在 Go 中表示可选字符串?

    我希望建模一个可以有两种可能形式的值 不存在或字符串 执行此操作的自然方法是Maybe String or Optional
  • 如何将 2 数组放入配置(.ini)文件中? [复制]

    这个问题在这里已经有答案了 我有这个简单的 VBScript 基本代码 Dim cars cars Array Volvo Saab BMW Dim fruits fruits Array Apple Orange Banana Dim i
  • 列表分隔符脚本

    如何从命令行更改列表分隔符 通常我必须编辑以下字段 控制面板 更改键盘或其他输入法 其他设置 我想创建一个 VBScript 单击它会自动更改 to 还有另一个可以返回的 一个脚本就足够了 该设置存储在注册表值中HKCU ControlPa
  • 如何将非托管双精度型转换为托管字符串?

    从托管 C 中 我调用一个返回双精度值的非托管 C 方法 如何将此双精度数转换为托管字符串 我假设类似 gcnew System Double d gt ToString
  • 使用ASP/VB获取节点属性值

    我有以下 XML 架构
  • 比较数组中的文件、从文本文件中删除行、函数、日志记录

    所以我创建了这两个数组 Approved Shares 和 Current Shares Reads Approvedshare txt and makes the txt file into an array public objFSO

随机推荐