如何將整數舍入爲十的最接近倍數?Ruby 2.0 - 將整數舍入到最接近的倍數10
我試過integer.round(0.1)
但它給出了最近的十進制數字。
實施例:3應該返回0,55應返回60.
是否有將圓至10最接近的倍數的方法?
如何將整數舍入爲十的最接近倍數?Ruby 2.0 - 將整數舍入到最接近的倍數10
我試過integer.round(0.1)
但它給出了最近的十進制數字。
實施例:3應該返回0,55應返回60.
是否有將圓至10最接近的倍數的方法?
Integer#round有功能。
您將負數傳遞給round
以表示您想要舍入的10位數字。例如:
整到最近的10:
55.round(-1) # => 60
舍入到最近的100:
550.round(-2) # => 600
這將舍入到一個有效數字,而不一定是「十」的精度。 –
哦...所以我讓數字_negative_。謝謝! –
@AaronCronin我沒有得到你.. :( –
您可以10只劃分,圓,再乘以10:
nearest = (x/ 10).round * 10
'(15/10).round * 10'返回'10',但應該返回'20'。 –
這只是因爲整數除法截斷小數,如果你除以'10.0',而不是它會舍入到20. –
如果你想舍入無論什麼(這是我的要求),你可以做(x/10.0).floor * 10 – sixty4bit
'10 *((x + 5)/ 10)'適用於非負整數。 –