VBA Solidworks,Round Up

时间:2015-01-09 12:06:44

标签: vba solidworks

我正在尝试在vba中创建一个程序来构建solidworks中的轴,这必须通过在userform中输入它所暴露的力来完成。我的公式工作正常,但我希望将所有数值四舍五入到整数,因为直径35,65毫米的轴非常愚蠢。

我知道我可以为此使用“Round(Diameter,0)”,但我不希望它向下舍入,因为这会使它变弱。

简短:如何在VBA中将数字四舍五入为整数?

例如:7,3 => 8

非常感谢任何输入!

谢谢

罗布

1 个答案:

答案 0 :(得分:1)

VBA的 True 在数学上等于-1而 False 为0,所以这应该为你做。

Dim axl as double
axl = 36.5
axl = int(axl) - (int(axl) <> axl)
debug.print axl

假设在物理世界中,轴的直径不能具有负的尺寸。 IOW,当axl为正时,该公式将从零舍入,但当axl为负时,将舍入为零

最后一个警告;完全按照提供的方式使用,不要将Int(axl)更改为CInt(axl)CInt将值舍入为最接近的整数,如Round(axl, 0),而Int会删除任何小数部分。