VBA Solidworks,四舍五入
VBA Solidworks, Round Up
我正在尝试在 vba 中制作一个程序来在 solidworks 中构建一个轴,这必须通过在用户窗体中输入它所承受的力来完成。我的公式工作得很好,但我希望它能将所有值四舍五入为一个整数,因为制造一个直径为 35.65 毫米的车轴很愚蠢。
我知道我可以为此使用 "Round(Diameter, 0)",但我不希望它向下舍入,因为这会使它变弱。
简而言之:如何在VBA中将数字四舍五入为整数?
例如:7,3 => 8
如有任何意见,我们将不胜感激!
谢谢
罗布
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
去除所有小数部分。
我正在尝试在 vba 中制作一个程序来在 solidworks 中构建一个轴,这必须通过在用户窗体中输入它所承受的力来完成。我的公式工作得很好,但我希望它能将所有值四舍五入为一个整数,因为制造一个直径为 35.65 毫米的车轴很愚蠢。
我知道我可以为此使用 "Round(Diameter, 0)",但我不希望它向下舍入,因为这会使它变弱。
简而言之:如何在VBA中将数字四舍五入为整数?
例如:7,3 => 8
如有任何意见,我们将不胜感激!
谢谢
罗布
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
去除所有小数部分。