log(1000,10) の計算結果は 3 未満なのに、
print 命令が勝手に有効数字 6 桁に丸めてるだけですからねえ。
floor 使うときは常に留意しとかないと予想外の結果になります。
連続秒数から時:分:秒に変換する時とか、よくハマりますね。
? format$("%.18f", log(1000,10))
2.9999(略)99600
がより正確な値です。
自分が欲しい精度で丸めるのがいいんじゃないかな??
例えば丸め幅 = 0.001 で丸めるなら 1000 倍して四捨五入して 1000 で割ればいいでしょう。
? format$("%.18f", floor(log(1000,10)*1000+0.5)/1000)
3.0000(略)0000
0そうだね プレイ済み