Przytnij końcowe .0
Mam kolumnę Excel zawierającą numery części. Oto próbka
Jak widać, może to być wiele różnych typów danych:Float
, Int
, iString
. ja używamroo
klejnot, aby przeczytać plik. Problemem jestroo
interpretuje komórki całkowite jakoFloat
, dodając do nich końcowe zero (16431 => 16431.0). Chcę przyciąć to końcowe zero. Nie mogę użyćto_i
ponieważ będzie przycinać wszystkie końcowe liczby komórek, które wymagają dziesiętnych w nich (pierwszy wiersz w powyższym przykładzie) i wycina wszystko po łańcuchu znaków wString
wiersze (ostatni wiersz w powyższym przykładzie).
Obecnie mam metodę, która sprawdza dwa ostatnie znaki komórki i przycina je, jeśli są „.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 to straszne i hacky. Jaki jest właściwy sposób pobierania zawartości plików Excel do struktury danych Ruby?