小编ltl*_*lim的帖子

VBA:Variant/Double和Double之间的区别

我正在使用Excel 2013.在以下代码片段中,VBA计算40 damage:

Dim attack As Variant, defense As Variant, damage As Long
attack = 152 * 0.784637
defense = 133 * 0.784637
damage = Int(0.5 * attack / defense * 70)
Run Code Online (Sandbox Code Playgroud)

如果数据类型更改为Double,则VBA计算39 damage:

Dim attack As Double, defense As Double, damage As Long
attack = 152 * 0.784637
defense = 133 * 0.784637
damage = Int(0.5 * attack / defense * 70)
Run Code Online (Sandbox Code Playgroud)

在调试器中,Variant/DoubleDouble值显示相同.但是,Variant/Double似乎更精确.

谁能解释这种行为?

precision double vba variant

5
推荐指数
2
解决办法
4078
查看次数

标签 统计

double ×1

precision ×1

variant ×1

vba ×1