2012-06-14 3 views
0

다음과 같은 오디오 태그가 있습니다 : "00:14:164"(예 : "MM:SS:splits").MM : SS : MM : SSSS로 변환하려면 어떻게해야합니까?

형식을 초 단위로 숫자로 지정하고 싶습니다. 그래서 예를 들어

:

는 "00:14:164"14.164

것 "01:59:582"119.582

이 일을하는 가장 좋은 방법은 무엇입니까 것입니까?

+0

방금 ​​뷰에서 초 단위로 값을 표시하거나 실제로 DB에 초를 저장하기 위해 찾고 계십니까? – cdesrosiers

답변

2
def tag_to_f(tag) 
    a = tag.split(':').map(&:to_i) 
    "#{a[0] * 60 + a[1]}.#{a[2]}".to_f 
end 

tag_to_f "01:59:582" 

또는 원숭이 패치 String :

class String 
    def to_f_with_audio_tag 
    if a = match(/^(\d+):(\d+):(\d+)$/).to_a[1..3].map(&:to_i) rescue nil 
     "#{a[0] * 60 + a[1]}.#{a[2]}".to_f_without_audio_tag 
    else 
     to_f_without_audio_tag 
    end 
    end 

    alias_method_chain :to_f, :audio_tag 
end 

"01:59:582".to_f 
관련 문제