昨日見たバグの原因を見つけた

帳票Aの場合:SQLの中で計算。(Oracle)

SELECT FLOOR(**** / 60 * **00) FROM DUAL;

 結果:****49
 誰かいわく、こちらを正とするらしい。

帳票Bの場合:なぜかJAVAで処理。

BigDecimal foo = new BigDecimal(Math.floor(**** / 60 * **00));

 結果:****50

  ( ゚д゚)      ・・・
_(__つ/ ̄ ̄ ̄/_
  \/    /
     ̄ ̄ ̄

  ( ゚д゚ )
_(__つ/ ̄ ̄ ̄/_
  \/    / 


 だがしかし。
 算数上の計算は****50のほうが正解。
 給与の計算なのに・・・いいのかホントにコレで。
 うーん。

追記

 やばそうなので、数字を隠しました。