如何避免数字四舍五入
以下代码
Dim acc = 0
Dim i
Dim x() = {699.68, 632.70}
For i = LBound(x) To UBound(x)
acc = acc + x(i)
Next
console.writeline(acc)
返回:1333
感谢 inchikka
答案 0 :(得分:1)
acc
被隐式定义为整数,因为你用0初始化它,这是一个整数。
您应该将acc
显式定义为浮点数。我不确定VB语法,但我猜它是这样的:
Dim acc as Double
或
Dim acc = 0.0
答案 1 :(得分:1)
Ilya Kogan是正确的,问题是您没有明确定义变量。
唯一要补充的是,在VB中,使用Option Explicit
语句是一个真的好主意,这需要定义变量。更好的是,您可以打开一个设置,在每个新项目中自动将其添加到您的代码中。我不确定你正在运行什么版本的VB,但这里是MSDN文章的链接,解释了如何启用此选项(取决于你的VB版本,点击页面顶部的“其他版本”)并根据说明选择你的选项):
在运行VB6的情况下,序列有点不同(显然不是MSDN记录的)。转至:工具 - >选项和检查需要变量声明。