Было бы лучше сохранить его как целое число и просто отобразить его, как вы описали во время выполнения. Каждый язык имеет свой собственный способ дополнения нулями - для Ruby вы можете использовать String # rjust . Этот метод дополняет строку (выравнивание по правому краю), чтобы она стала заданной длины, используя заданный символ заполнения.
str.rjust(integer, padstr=' ') → new_str
Если integerбольше, чем длина str, возвращает новую Stringдлину integerс strправым выравниванием и дополнением padstr; в противном случае возвращается 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'