int(x)の出力がおかしいことがあります.
上記スクリプトで,xの数値を様々に変えて確かめてみるとわかりますが,
objsize 100 x= double(0) mes "x=": input x: button goto "start", *start stop *start a= (x/double(100))*double(1000) +double(0.5) b= int(a) dialog "( " +x +"/100 )×1000+0.5 = " +a +"\nint( " +a +" ) = " +b stop
例えば,「x= 2.05」とすると,「a= 21.000000」ですが,「b= 20」になってしまいます.
このような数値はわりと普遍的に存在しているようで,
x= 0.35, 1.45, 5.05, 40.05, 50.05, 400.05...などなど
いずれも,int(a)の出力がaよりも1少なくなってしまいます.
aの計算式の記述になにか問題があるのでしょうか.
それとも,HSPの仕様でこのような結果になるのでしょうか.
ご教示頂けますと幸いです.
よろしくお願いします.