У меня есть столбец Excel, содержащий номера деталей. Вот пример

Как вы можете видеть, это может быть много разных типов данных: Float, Int и String. Я читаю файл, используя roo gem. Проблема в том, что roo интерпретирует целые ячейки как Float, добавляя к ним конечный ноль (16431 = > 16431.0). Я хочу обрезать этот конечный ноль. Я не могу использовать to_i, потому что он будет обрезать все конечные числа ячеек, для которых требуется десятичное число (первая строка в приведенном выше примере), и вырезает все после строки char в строках String ( последняя строка в приведенном выше примере).
В настоящее время у меня есть метод, который проверяет последние два символа ячейки и обрезает их, если они ".0"
def trim(row)
if row[0].to_s[-2..-1] == ".0"
row[0] = row[0].to_s[0..-3]
end
end
Это работает, но он чувствует себя ужасно и взломанно. Каким образом можно получить содержимое файла Excel в структуре данных Ruby?