Действительно ли возможно установить точность отображения плавания в Ruby?
Что-то как:
z = 1/3
z.to_s #=> 0.33333333333333
z.to_s(3) #=> 0.333
z.to_s(5) #=> 0.33333
Или сделайте я должен переопределить to_s
метод Float
?
Вы можете использовать sprintf:
sprintf( "%0.02f", 123.4564564)
Обычно я просто выполняю преобразование в открытом коде, например:
puts "%5.2f" % [1.0/3.0]
Ruby вызывает Kernel # format для таких выражений, потому что String имеет основной оператор% определил на нем . Думайте об этом как о printf для Ruby , если вам это покажется интересным.