1

在学习 VBA 时,我阅读的每个资料都告诉我,\运算符执行整数除法。所以我想我可以用它来提取浮点数的整数部分。

我有一个这样的电子表格:

A = 5
B = 50%

我需要计算:C = A x B,向下舍入到最接近的整数(即,任何 2.01、2.1、2.9、2.99 等都应向下舍入为 2)。

我在想我可以这样做:

C = (A * B) \ 1

但它不起作用 - 在我看来,浮点部分在执行整数除法之前被四舍五入(即,2.25 被取为 3)。

我现在已经这样做了:

 C = (A * B - 0.5) \ 1

这在某些情况下不起作用(其中A * B恰好等于整数,可能是表示问题)。

我还可以做些什么?

4

2 回答 2

0

当心:

any 2.01, 2.1, 2.9, 2.99 etc. all should be rounded down to 3

那么您不是在寻找nearest integer,而是在寻找上限功能。最近的整数听起来像 Round 或 Fix 函数(你现在有作业:寻找它们之间的差异!)

对于吊顶功能,请看这里:

在 Excel 中使用的天花板函数:

http://www.excelforum.com/excel-programming/612151-how-to-use-standard-excel-function-in-vba.html

VBA吊顶功能代码:

http://www.tek-tips.com/faqs.cfm?fid=5031

于 2012-05-28T05:19:26.600 回答
0

呃。看来我可以做到:

整数(A * B)

得到我想要的。

于 2012-05-28T03:52:01.307 回答