こんにちは。シンプルな質問ですが、よろしくお願いします。
プログラミングではよく、小数以下を四捨五入して整数にすることが多いと思います。
例えばPythonでは予め組み込まれたround関数等を使って上手く小数点以下を丸めて整数にすることが一般的です。
自分も簡単に四捨五入できるコードを考えて以下のコードを思い付きました。
python
1x = float(input()) 2print(int(x+0.5))
プログラミングの課題で「小数点以下を四捨五入して整数を出力せよ」という課題があったので上記のコードを提出したら受理されました。しかし、模範解答では以下のように示されていました。
python
1x=float(input()) 2print(int(round(x+0.0005,0)))
果たして自分のコードは正しいのでしょうか?それともどこかに不備があるのでしょうか?単に四捨五入するだけでなく、複雑な計算をした後に四捨五入をする時に問題が生じるかもしれないという懸念もあります。自分のコードにあまり自信が無いので質問してみました。不備のある箇所をご指摘ください。よろしくお願いします。

回答2件
あなたの回答
tips
プレビュー