看板 Ruby 關於我們 聯絡資訊
環境: 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)
kojilin:BigDecimal("1.23456").round(3)..類似這樣吧 11/14 00:56
shelary:看沒有 @@" 11/14 01:34
godfat:BigDecimal 是 java 的,不確定 ruby 有沒有 11/14 07:35
godfat:勉強用 sprintf 吧 @@ "%.3f" % 1.2345; 不過有些時候 11/14 07:36
godfat:.5 沒進位,有時候又會,不知道為什麼 XD 11/14 07:37
kojilin:??? http://0rz.tw/523jz 11/14 10:21
kojilin:require 'bigdecimal' 11/14 10:25
kojilin:puts BigDecimal("0.12345").round(4).to_f 11/14 10:25
godfat:XDD 沒查到,怪不得就覺得之前好像看過又沒查到怪怪的 11/14 10:30