- ベストアンサー
VBのINT関数の計算結果について
Int(12614800 * 0.95 - 1700000)は10284060のはずなのに10284059になります。 実際は変数で12614800がLONG,0.95がDOUBLE,1700000がLONG,答えがLONGです。 年末調整の給与所得控除後の給与等の金額をだす計算なのですが、 1円未満の端数は切り捨てとあるので上のような式にしたところ、 計算が思ったようにいきません。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
お金の計算はCurrency型で ?Int(12614800@ * 0.95@ - 1700000@)
その他の回答 (2)
noname#9414
回答No.2
Floor関数でもいいのでは? 間違いがありましたらご指摘ください。 ではでは☆
noname#25358
回答No.1
Int は厳密にいえば切り捨てではありません。 内部でナニやってるかちょっと忘れてしまったんですが、切り捨てコマンドは Int ではなく Fix です。 Fix(12614800 * 0.95 - 1700000) これを試してみてください。
質問者
補足
FIXも一緒でした。
お礼
計算できました。 ありがとうございました。