首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Ruby中设置浮点数的显示精度

在Ruby中设置浮点数的显示精度
EN

Stack Overflow用户
提问于 2009-12-20 03:49:52
回答 3查看 77.5K关注 0票数 60

可以在Ruby中设置浮点数的显示精度吗?

类似于:

代码语言:javascript
复制
z = 1/3
z.to_s    #=> 0.33333333333333
z.to_s(3) #=> 0.333
z.to_s(5) #=> 0.33333

或者我必须重写Floatto_s方法

EN

回答 3

Stack Overflow用户

发布于 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。

票数 89
EN

Stack Overflow用户

发布于 2009-12-20 03:52:35

您可以使用sprintf:

代码语言:javascript
复制
sprintf("%0.02f", 123.4564564)
票数 47
EN

Stack Overflow用户

发布于 2017-09-20 20:45:40

您可以使用puts

代码语言:javascript
复制
z = #{'%.3f' % z}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1933958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档