調べてみましたが、おかしなところは無かったです。また、その数値は0以下の場合0をIf文で代入するのでズレてはいないはずです。