ceil を使うことに関する質問を拝見しました。
Math.ceil(Math.random() * 6)
→ 0, 1, 2, 3, 4, 5, 6(非常に小さな確率ですが、Math.random()
が 0 になったときに Math.ceil(0)
は 0 となるため)
Math.ceil(Math.random() * 6) + 1
→ 1, 2, 3, 4, 5, 6, 7
となってしまい、1 〜 6 の範囲ではなくなってしまいます。
したがって Math.floor()
を使うようにしましょう。
ceil は小数点以下を切り上げと習いました。
ceil を使うと、Math.random()
が 0 になった時に、Math.ceil(0)
は 0 となる、とのことですが
floor でも Math.random()
が 0 になった時には、
Math.floor(Math.random() * (max + 1 - min)) + min)
において、0 を掛けているので、Math.floor(0)
は 0 とならないんでしょうか?
floor の方がむしろ切り下げなので、切り上げの ceil で 0 になる意味が理解できていません。
ご教授よろしくお願い致します。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?