Sería mejor almacenarlo como un número entero y mostrarlo tal como lo describió en tiempo de ejecución. Cada idioma tiene su propia forma de rellenar ceros: para Ruby puede usar String # rjust . Este método rellena una cadena (justificada a la derecha) para que se convierta en una longitud determinada, utilizando un carácter de relleno dado.
str.rjust(integer, padstr=' ') → new_str
Si integeres mayor que la longitud de str, devuelve una nueva Stringlongitud integercon la strderecha justificada y rellenada con padstr; de lo contrario, vuelve 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'
Me gusta el operador%, a pesar de que parece haber perdido popularidad ...
fuente
Otra forma de lograr esto es rellenar su número entero en tiempo de visualización, usando sprintf:
fuente
Prueba esto y puedes cambiarlos para que coincidan
fuente
if num < 0 && num > -1es exactamente ?