Установите точность отображения плавания в Ruby

Действительно ли возможно установить точность отображения плавания в Ruby?

Что-то как:

z = 1/3
z.to_s    #=> 0.33333333333333
z.to_s(3) #=> 0.333
z.to_s(5) #=> 0.33333

Или сделайте я должен переопределить to_s метод Float?

55
задан salt.racer 19 December 2009 в 20:00
поделиться

2 ответа

Вы можете использовать sprintf:

sprintf( "%0.02f", 123.4564564)
43
ответ дан 26 November 2019 в 17:41
поделиться

Обычно я просто выполняю преобразование в открытом коде, например:

puts "%5.2f" % [1.0/3.0] 

Ruby вызывает Kernel # format для таких выражений, потому что String имеет основной оператор% определил на нем . Думайте об этом как о printf для Ruby , если вам это покажется интересным.

35
ответ дан 26 November 2019 в 17:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: