Il ferais mieux de stocker un nombre entier et juste l'affichage comme vous l'avez décrit sur l'exécution. Chaque langue a sa propre façon de compléter les zéros - pour Ruby, vous pouvez utiliser la Chaîne de caractères#rjust. Cette méthode plaquettes une chaîne de caractères (justifié à droite), de sorte qu'il devient une longueur donnée, en utilisant un rembourrage personnage.
rjust(integer, padstr=' ') → new_str
Si integer
est supérieure à la longueur de l' str
, renvoie un nouveau String
de la longueur integer
avec str
justifié à droite et matelassée avec padstr
; sinon, renvoie 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(3, '0') # => '150'
another_int.to_s.rjust(5, '0') # => '00150'