2010-09-20 62 views
0

我正在顯示大量的車輛記錄(120k +),每個記錄都有該車輛的發動機大小。可以在以下兩種格式之一的發動機尺寸:如何將4個字符串「1995」轉換爲分數1.9?

"1.8" 
OR 
"1995" #cc's 

如果發動機尺寸保存爲4個字符的字符串我想在視圖中縮寫,到最近的100 - 例如,「1995年」應該得到顯示因爲「2.0」和「1900」應該顯示爲「1.9」。

我可以做到這一點的最佳方式是什麼? (不能更新數據庫 - 這只是查看邏輯)

謝謝!

+0

待辦事項你想要最近的,還是你想要它倒圓角(即截斷)?另外,你的意思是10號,而不是100號。 – 2010-09-20 23:22:21

回答

2
(size.to_f/100).round/10.0 
0

試試這個:

size = (size.length == 4) ? (size.to_f/100).round/10.0 : size.to_f 
0

我不知道你有什麼其他的情況,但如果你可以通過一個簡單的比較兩種情況分開,這是

if size > 1000 # or whatever condition here 
    sprintf("%.1f", size.to_f/1000) 
else 
    sprintf("%.1f", size) 
end 
相關問題