【发布时间】:2019-03-06 16:16:10
【问题描述】:
我正在尝试使用 InputBox 函数来获得用户输入数据。但是,数据主要由十进制值组成。当我测试我的程序并减去两个从 InputBox 输入的值时,它不执行数学运算。
thckmax = InputBox("What is the maximum nominal thickness?", "Enter Max Nominal Thickness Measurement")
thckmin = InputBox("What is the minimum nominal thickness?", "Enter Min Nominal Thickness Measurement")
thcknom = (thckmax + thckmin)
如果我分别输入 .05 和 .04,它会显示前面的代码:
thcknom is .05.04
我正在尝试对两个变量进行数学运算,即加法;但是,它只是并排“添加”两个字符串。我该如何解决这个问题?
【问题讨论】:
-
您是否将变量声明为 Double 或 Single?如果您没有声明它们,这可能会发生。认为用户应该输入 0.05 而不是 .05
-
@damian 我将它们声明为应该允许我输入任何数据类型的变体,但我可以看到它可能会变得混乱,特别是如果小数点前没有零的话。跨度>
-
我假设使用
Variant,当使用InputBox()时,它会假设它是String,这就是+只是将两者连接起来的原因。此外,一些令人惊讶的好讨论来自这个问题,干得好!编辑:是的,Dim tst as Variant // tst = InputBox("What?") // debug.print TypeName(tst)为Hi、3和0.03的输入返回String。