Ho una colonna di Excel che contiene i numeri di parte. Ecco un esempioTaglia un trailing .0
Come si può vedere, può essere molti tipi di dati diversi: Float
, Int
e String
. Sto usando roo
gem per leggere il file. Il problema è che roo
interpreta celle intere come Float
, aggiungendo uno zero finale a esse (16431 => 16431.0). Voglio tagliare questo zero finale. Non riesco a utilizzare to_i
perché ridurrà tutti i numeri finali delle celle che richiedono un decimale in loro (la prima riga nell'esempio precedente) e taglierà tutto dopo un carattere stringa nelle righe String
(l'ultima riga dell'esempio precedente).
Attualmente, ho un metodo che controlla gli ultimi due caratteri della cellula e li rifila se sono" .0"
def trim(row)
if row[0].to_s[-2..-1] == ".0"
row[0] = row[0].to_s[0..-3]
end
end
Questo funziona, ma ci si sente terribile e hacky. Qual è il modo corretto di ottenere il contenuto del mio file Excel in una struttura dati Ruby?
o solo risultato = result.to_i se risultato == result.to_i – peter