Конструктор BigDecimal
принимает необязательные второй параметр, который указывает цифры точности объекта. от ruby-doc:Как определить параметры точности с помощью String в конструкторе BigDecimal?
новые (начальные цифры),
Число значащих цифр, как Fixnum. Если опущено или 0, количество значащих цифр определяется из начального значения .
Однако при работе со строкой это поведение не соответствует описанию.
BigDecimal.new('1.2345', 4).to_s('F')
# 1.2345
BigDecimal.new('1.2345', 1).to_s('F')
# 1.2345
Как указать точность с помощью BigDecimal при работе с параметром String?
, как вы получили результат, как '# 1.2345'? Я вижу '#' для 'BigDecimal.new ('1.2345', 4)'. –
Используйте 'to_s ('F')' для печати в формате float. – steveyang
Вы должны показать, что в своем посте, поскольку вы делаете больше, чем вы явно говорите, а затем говорите, что вы смущены, когда то, что вы показываете, не то, что вы делаете, чтобы получить результаты. – vgoff