進数変換(時刻は 60進数とか24進数だったりしますね)に浮動小数点数を使うと、たいてい予期しないバグに遭遇します。
特に floor() とか最悪。
例えば
? 0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1 (0.1を10回足す)
は 1 を表示します(数学的にも期待通りな感じ)
ところが、
? floor(0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1)
は 0 を表示します。
なんとも納得できないと思うけどこれは仕方ないのですね。
なので、進数変換には整数演算のみを使うのがオススメ!!
1そうだね プレイ済み