Akan lebih baik untuk menyimpannya sebagai integer dan hanya menampilkannya seperti yang Anda jelaskan saat runtime. Setiap bahasa memiliki caranya sendiri untuk membuat angka nol - untuk Ruby Anda dapat menggunakan String # rjust . Metode ini membalut string (dibenarkan-kanan) sehingga menjadi panjang tertentu, menggunakan karakter padding yang diberikan.
str.rjust(integer, padstr=' ') → new_str
Jika integer
lebih besar dari panjang str
, mengembalikan baru String
panjang integer
dengan str
dibenarkan kanan dan empuk dengan padstr
; jika tidak, kembali str
.
some_int = 5
some_int.to_s.rjust(2, '0') # => '05'
some_int.to_s.rjust(5, '0') # => '00005'
another_int = 150
another_int.to_s.rjust(2, '0') # => '150'
another_int.to_s.rjust(3, '0') # => '150'
another_int.to_s.rjust(5, '0') # => '00150'
Saya suka operator%, meskipun tampaknya tidak disukai ...
sumber
Cara lain untuk mencapai ini adalah melapisi bilangan bulat Anda pada waktu tampilan, menggunakan sprintf:
sumber
Coba ini dan Anda dapat mengubahnya agar sesuai
sumber
if num < 0 && num > -1
itu?