作者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