답변:
정수로 저장하고 런타임에 설명 된대로 표시하는 것이 좋습니다. 모든 언어에는 제로를 채우는 고유 한 방법이 있습니다. 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'
이것을 시도하고 일치하도록 변경할 수 있습니다
def numeric92(num)
if num.present?
if num < 0 && num > -1
('-%05d' % num) + '.' + ('%.2f' % num).split('.').last
else
('%06d' % num) + '.' + ('%.2f' % num).split('.').last
end
else
'000000.00'
end
end
if num < 0 && num > -1
?