1
Làm thế nào để chuyển chuỗi thành số trong Ruby?
0
Cộng đồng đã đăng:

Chào các bạn, mình đang học lập trình Ruby, mình muốn chuyển một chuỗi số thành số trong Ruby thì phải làm thế nào ạ? Giả sử chuỗi bao gồm các số hợp lệ, không chứa các ký tự.

Ví dụ: "2019" -> 2019

thêm bình luận...
1
Member467130 đã đăng:
def str2num(str)
    num = 0
    for i in str.split('')
        num *= 10
        for j in '0123456789'.split('')
            if i > j
                num += 1
            else
                break
            end
        end
    end
    return num
end

rs = str2num('2019')
puts rs # 2019
puts rs.instance_of? Integer # true
đã bổ sung 5.0 năm trước bởi
Avatar: Member4671 Member467130

Mình nghĩ nên sử dụng ? ... : ... để thay cho câu lệnh if ... else ... end thì đoạn code sẽ gọn hơn rất nhiều.

Thay vì dùng:

if i > j
    num += 1
else
    break
end

Nên dùng:

i > j ? num += 1 : break
xuans2huy 06.06.2019

Không cần thiết, tùy style mỗi người thôi.

Cộng đồng 11.12.2020
thêm bình luận...
Bạn đang thắc mắc? Ghi câu hỏi của bạn và đăng ở chế độ cộng đồng (?)