Copy link to clipboard
Copied
I have a variable that is in decimal seconds.
Example: 92.5
How do I convert it to 1:32:50?
Then you can use this code:
var v = 92.5;
var minutes = Math.floor(v/60);
v-=(minutes*60);
var seconds = Math.floor(v);
var remainder = (v-seconds)*100;
var result = minutes + ":" + seconds + ":" + remainder;
Copy link to clipboard
Copied
So 0.5 is 50 seconds? Not 30?
Copy link to clipboard
Copied
Or is that in hundreds of a second?
Copy link to clipboard
Copied
Also, can the value exceed one hour? If so, do you want to display that separately, or just as minutes?
Copy link to clipboard
Copied
Sorry, 92.5 is 1:32.50 (that is 1 minute 32 seconds and 50 milliseconds)
and the value will never exceed 1 hour.
Copy link to clipboard
Copied
Then you can use this code:
var v = 92.5;
var minutes = Math.floor(v/60);
v-=(minutes*60);
var seconds = Math.floor(v);
var remainder = (v-seconds)*100;
var result = minutes + ":" + seconds + ":" + remainder;
Copy link to clipboard
Copied
thank you so very much!!
One last question:
How do I limit milliseconds to just 2 digits?
Since my input is a variable, I, sometimes, get something like 1:32.50.00000000045
Copy link to clipboard
Copied
Change this:
var remainder = (v-seconds)*100;
To:
var remainder = Math.round((v-seconds)*100);
Copy link to clipboard
Copied
THANKS!!!
Copy link to clipboard
Copied
Hi try67,
How difficult is it to find a solution to the next little bug:
if "seconds" end up being between 1 and 9, Adobe omitting the zero,
and the result looks like: 1:2.55 instead of 1:02.55
Did I say I really appreciate your help?
Copy link to clipboard
Copied
Use this:
var v = 92.5;
var minutes = Math.floor(v/60);
v-=(minutes*60);
var seconds = Math.floor(v);
var secondsStr = (seconds<10) : "0"+seconds ? ""+seconds;
var remainder = Math.round((v-seconds)*100);
var result = minutes + ":" + secondsStr + ":" + remainder;
Copy link to clipboard
Copied
For some reason, it keeps giving me the syntax error.
I checked all of the punctuation and it doesn't make any sense.
Copy link to clipboard
Copied
UPDATE: SOLVED
Did this:
var minutes = Math.floor(v/60);
v-=(minutes*60);
var seconds = Math.floor(v);
var secondsStr = seconds;
if(seconds<10) {secondsStr="0"+seconds;}
else {secondsStr=""+seconds;}
var remainder = Math.round((v-seconds)*100);
var result = minutes + ":" + secondsStr + "." + remainder;