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 に答える