I want to convert a subtitle time code:
begin="00:00:07.71" dur="00:00:03.67
to pure seconds:
begin=7.1 end=11.38
I wrote a Ruby code:
def to_sec(value)
a = value.split(':')
a[0].to_i*3600+a[1].to_i*60+a[2].to_f
end
which resulted in 11.379999999999999.
Can anybody tell me why this happens?
Is there any Time library that can do this conversion?
It’ll probably be easiest for you to represent your underlying datatype as integer hundredths of a second (centiseconds):
You could add some helpers for dealing with the durations and pretty printing them as well:
Then your answer is just: