可以在Ruby中设置浮点数的显示精度吗?
类似于:
z = 1/3
z.to_s #=> 0.33333333333333
z.to_s(3) #=> 0.333
z.to_s(5) #=> 0.33333
或者我必须重写Float
的to_s
方法
发布于 2012-08-07 07:31:03
z.round(2)
或x.round(3)
是最简单的解决方案。参见http://www.ruby-doc.org/core-1.9.3/Float.html#method-i-round。
也就是说,这只会确保它不会超过那么多位数。在1/3的情况下,这是可以的,但如果你说0.25.round(3)
,你将得到0.25,而不是0.250。
发布于 2009-12-20 03:52:35
您可以使用sprintf:
sprintf("%0.02f", 123.4564564)
发布于 2017-09-20 20:45:40
您可以使用puts
z = #{'%.3f' % z}
https://stackoverflow.com/questions/1933958
复制相似问题