• ベストアンサー

VBのINT関数の計算結果について

Int(12614800 * 0.95 - 1700000)は10284060のはずなのに10284059になります。 実際は変数で12614800がLONG,0.95がDOUBLE,1700000がLONG,答えがLONGです。 年末調整の給与所得控除後の給与等の金額をだす計算なのですが、 1円未満の端数は切り捨てとあるので上のような式にしたところ、 計算が思ったようにいきません。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.3

お金の計算はCurrency型で ?Int(12614800@ * 0.95@ - 1700000@)

bun_chun
質問者

お礼

計算できました。 ありがとうございました。

その他の回答 (2)

noname#9414
noname#9414
回答No.2

Floor関数でもいいのでは? 間違いがありましたらご指摘ください。 ではでは☆

noname#25358
noname#25358
回答No.1

 Int は厳密にいえば切り捨てではありません。  内部でナニやってるかちょっと忘れてしまったんですが、切り捨てコマンドは Int ではなく Fix です。   Fix(12614800 * 0.95 - 1700000)  これを試してみてください。

bun_chun
質問者

補足

FIXも一緒でした。

関連するQ&A