どのように整数を10の最も近い倍数に丸めますか?Ruby 2.0 - 10の最も近い倍数に整数を丸める
私はinteger.round(0.1)
を試しましたが、最も近い小数点以下はです。
例:0、55、10の最も近い倍数に丸めます方法はあります60
返す必要があります3返す必要がありますか?
どのように整数を10の最も近い倍数に丸めますか?Ruby 2.0 - 10の最も近い倍数に整数を丸める
私はinteger.round(0.1)
を試しましたが、最も近い小数点以下はです。
例:0、55、10の最も近い倍数に丸めます方法はあります60
返す必要があります3返す必要がありますか?
Integer#roundには機能があります。
round
に負の数値を渡して、丸めたい10の位を表します。たとえば:最寄り10へ
ラウンド:
55.round(-1) # => 60
最も近い100に丸める:
550.round(-2) # => 600
これは1桁の有効数字に丸められ、必ずしも「数十」の精度にはなりません。 –
ああ...だから私は数字を_negative_にする。ありがとうございました! –
@AaronCronin私はあなたを取得しませんでした.. :( –
あなたは、10で割るラウンド、その後、10を掛けすることができます
nearest = (x/ 10).round * 10
'(15/10)。around * 10'は' 10'を返しますが、 '20'を返すはずです。 –
これは小数点以下を切り捨てた整数の除算のためです。代わりに '10.0'で割り算すると20に丸めます。 –
何か(これは私の要件です)を切り捨てたい場合は、x/10.0).floor * 10 – sixty4bit
'10 *((x + 5)/ 10)'は、負でない整数に対しても機能します。 –