我正在顯示大量的車輛記錄(120k +),每個記錄都有該車輛的發動機大小。可以在以下兩種格式之一的發動機尺寸:如何將4個字符串「1995」轉換爲分數1.9?
"1.8"
OR
"1995" #cc's
如果發動機尺寸保存爲4個字符的字符串我想在視圖中縮寫,到最近的100 - 例如,「1995年」應該得到顯示因爲「2.0」和「1900」應該顯示爲「1.9」。
我可以做到這一點的最佳方式是什麼? (不能更新數據庫 - 這只是查看邏輯)
謝謝!
我正在顯示大量的車輛記錄(120k +),每個記錄都有該車輛的發動機大小。可以在以下兩種格式之一的發動機尺寸:如何將4個字符串「1995」轉換爲分數1.9?
"1.8"
OR
"1995" #cc's
如果發動機尺寸保存爲4個字符的字符串我想在視圖中縮寫,到最近的100 - 例如,「1995年」應該得到顯示因爲「2.0」和「1900」應該顯示爲「1.9」。
我可以做到這一點的最佳方式是什麼? (不能更新數據庫 - 這只是查看邏輯)
謝謝!
(size.to_f/100).round/10.0
試試這個:
size = (size.length == 4) ? (size.to_f/100).round/10.0 : size.to_f
我不知道你有什麼其他的情況,但如果你可以通過一個簡單的比較兩種情況分開,這是
if size > 1000 # or whatever condition here
sprintf("%.1f", size.to_f/1000)
else
sprintf("%.1f", size)
end
待辦事項你想要最近的,還是你想要它倒圓角(即截斷)?另外,你的意思是10號,而不是100號。 – 2010-09-20 23:22:21