作者shelary (台中喵小咩)
看板Ruby
标题[问题] 小数的四舍五入
时间Tue Nov 13 23:46:32 2007
环境:
Ruby 1.8.6
状况:
ruby 的 round method 好像只能取 整数
例如:
(1.5).round ==>> 2
(-1.5).round ==>> -2
可是如果我希望像 excel 的 ROUND 函数一样
ROUND(数字, 取到小数的第几位数)
例如:
ROUND(1.2345, 3) ==>> 1.235
ROUND(1.2345, 1) ==>> 1.2
ROUND(1.2345, 0) ==>> 1
像这样的功能应该怎麽写比较好呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.225.163.65
※ 编辑: shelary 来自: 61.225.163.65 (11/14 00:51)
1F:推 kojilin:BigDecimal("1.23456").round(3)..类似这样吧 11/14 00:56
2F:→ shelary:看没有 @@" 11/14 01:34
3F:推 godfat:BigDecimal 是 java 的,不确定 ruby 有没有 11/14 07:35
4F:→ godfat:勉强用 sprintf 吧 @@ "%.3f" % 1.2345; 不过有些时候 11/14 07:36
5F:→ godfat:.5 没进位,有时候又会,不知道为什麽 XD 11/14 07:37
7F:推 kojilin:require 'bigdecimal' 11/14 10:25
8F:→ kojilin:puts BigDecimal("0.12345").round(4).to_f 11/14 10:25
9F:→ godfat:XDD 没查到,怪不得就觉得之前好像看过又没查到怪怪的 11/14 10:30