満足のいく丸め
あなたは理科の授業にいるときを知っており、2 sigのイチジクに丸めることを求めましたが、あなたの答えは5.2501...
?に丸める必要がありますが5.3
、それはとても不満です!に四捨五入する5.3
ことにより、0.05(四捨五入する場所の値)に比べて0.05だけ大きくなります!だから私は満足のいく方法でラウンドを助けてください。
満足のいく方法で丸めるには、出くわす最初の桁で丸める必要があります。これは、誤差が比較的小さく、丸め時に可能な最大誤差の半分未満です。基本的に、0、1、8、または9に遭遇するたびに丸める必要があります。それが起こらない場合は、入力をそのまま返します。先頭のゼロまたは1を丸めないでください-それは単に満足感を感じません。
入力
非負の10進数を表す文字列または浮動小数点値。
出力
文字列または浮動小数点形式のいずれかで、十分に丸められた同じ10進数。
例
Input -> Output
0 -> 0
0.5 -> 0.5
0.19 -> 0
0.8 -> 1
5.64511 -> 5.645
18.913 -> 20
88.913 -> 100
36.38299 -> 36.4
621 -> 620
803.22 -> 1000
547.4726 -> 547.4726
これはコードゴルフの挑戦なので、最短のコードが勝ちます!
036.40000
有効な出力とみなされるような文字列はありますか?
.0
整数の部分が与えられると仮定できますか?また、0
肯定的ではありません。
19
丸めますが20
、0.19
丸め0
ますか?どうして?