Подтвердить что ты не робот

Как я могу форматировать BigDecimal, чтобы показывать только столько десятичных цифр, сколько необходимо?

У меня есть BigDecimal, который имеет 0, 1 или 2 десятичные цифры (я нахожу его (2) на нем). Я хочу отобразить его в представлении таким образом, что он будет показывать столько десятичных цифр, сколько необходимо. Другими словами:

 7.0 -> "7"
 7.5 -> "7.5"
 7.67 -> "7.67"

Как мне это достичь? Пока что он показывает "7.0" вместо "7".

4b9b3361

Ответ 2

Вам не нужно Ruby on Rails, когда у вас есть geeky magic sprintf:

[7.0, 7.5, 7.57].map{ |f| "%g" % BigDecimal.new(f,3) }
#=> ["7", "7.5", "7.57"]