Mam kolumnę Excel zawierającą numery części. Oto próbkaPrzycinanie końcowe .0
Jak widać, może być wiele różnych typów danych: Float
, Int
i String
. Używam klejnotu roo
do odczytu pliku. Problem polega na tym, że roo
interpretuje komórki całkowite jako Float
, dodając do nich końcowe zero (16431 => 16431.0). Chcę przyciąć to końcowe zero. Nie mogę użyć to_i
, ponieważ przycinam wszystkie końcowe numery komórek, które wymagają ułamka dziesiętnego (pierwszy wiersz w powyższym przykładzie) i wycina wszystko po znaku ciąg w wierszach String
(ostatni wiersz w powyższym przykładzie).
Obecnie mam metodę, która sprawdza dwa ostatnie znaki komórki i trymuje ich, czy są one”0,0"
def trim(row)
if row[0].to_s[-2..-1] == ".0"
row[0] = row[0].to_s[0..-3]
end
end
To działa, ale czuje straszny i hacky. Jaki jest właściwy sposób uzyskania zawartości pliku Excel w strukturze danych w języku Ruby?
lub po prostu result = result.to_i if result == result.to_i – peter