Ich habe eine Excel-Spalte mit Teilenummern. Hier ist ein BeispielTrimmen ein nachlaufendes .0
Wie Sie sehen können, kann es viele verschiedene Datentypen sein: Float
, Int
und String
. Ich verwende roo
Edelstein, um die Datei zu lesen. Das Problem ist, dass roo
Ganzzahlzellen als Float
interpretiert und ihnen eine abschließende Null hinzufügt (16431 => 16431.0). Ich möchte diese nacheilende Null trimmen. Ich kann to_i
nicht verwenden, weil es alle nachkommenden Zahlen der Zellen trimmt, die eine Dezimalzahl in ihnen erfordern (die erste Zeile im obigen Beispiel) und alles nach einer Zeichenfolge in den Zeilen String
schneidet (die letzte Zeile im obigen Beispiel)).
Derzeit habe ich eine eine Methode, die die letzten beiden Zeichen der Zelle überprüft und trimmt sie, wenn sie“0,0"
def trim(row)
if row[0].to_s[-2..-1] == ".0"
row[0] = row[0].to_s[0..-3]
end
end
Dies funktioniert, aber es fühlt sich schrecklich und Hacky. Was ist der richtige Weg, um den Inhalt meiner Excel-Datei in eine Ruby-Datenstruktur zu bringen?
oder nur result = result.to_i if result == result.to_i – peter