因此,我使用Ruby On Rails創建了一個時間跟蹤應用程序,並將時間存儲爲表示小時的數字。在Ruby on Rails中處理定點/精確十進制的最佳方法
因爲任何超過0.01(36秒)的小時都不相關,所以我只需要2個小數位。
我正在使用一個MySQL數據庫與一個浮點數作爲列類型。雖然這在大多數情況下都是有效的,但我偶爾會發現計算和舍入浮點數的錯誤。
我對我的選項做了一些研究,看到很多人推薦使用BigDecimal。由於我使用大量自定義數據庫查詢使用計算,所以我想知道如何更改列類型會影響這一點。它是以字符串還是yaml存儲,還是由MySQL本機支持?
還是有一種等同的方式來做Ruby/Rails中的定點十進制算術。
我認爲任何方法都需要大量的重構,我怎麼能避免這個最重要?
任何洞察力是讚賞。
+',:precision => 5,:scale => 2'到更改列 – loosecannon 2011-06-14 16:17:12
這幾乎可以無縫地工作,我不得不改變應用程序代碼。 – loosecannon 2011-06-14 21:49:09