Tôi có một cột Excel có chứa một phần số. Đây là một mẫuCắt một đường nhỏ .0
Như bạn thấy, nó có thể có nhiều kiểu dữ liệu khác nhau: Float
, Int
, và String
. Tôi đang sử dụng roo
đá quý để đọc tệp. Vấn đề là roo
diễn giải các ô số nguyên là Float
, thêm dấu 0 vào chúng (16431 => 16431.0). Tôi muốn cắt dấu 0 này. Tôi không thể sử dụng to_i
vì nó sẽ cắt tất cả các số sau của các ô yêu cầu số thập phân trong chúng (hàng đầu tiên trong ví dụ trên) và sẽ cắt mọi thứ sau chuỗi char trong các hàng String
(hàng cuối cùng trong ví dụ trên)).
Hiện nay, tôi có một phương pháp để kiểm tra hai ký tự cuối cùng của tế bào và Trims họ nếu họ là" .0"
def trim(row)
if row[0].to_s[-2..-1] == ".0"
row[0] = row[0].to_s[0..-3]
end
end
này hoạt động, nhưng nó cảm thấy khủng khiếp và hacky. Cách thích hợp để đưa nội dung tệp Excel của tôi vào cấu trúc dữ liệu Ruby là gì?
hoặc chỉ kết quả = result.to_i nếu kết quả == result.to_i – peter