我从这里开始使用了一个小时,几分,几秒的时间功能:Javascript seconds to minutes and seconds
除时间以毫秒为单位外,其他方法都可以正常工作。
这是当前(半修改)的JS块:
var time = 122, // example time (2 minutes, 2 seconds)
mins = ~~(time / 60),
secs = time % 60;
var hrs = ~~(time / 3600),
mins = ~~((time % 3600) / 60),
secs = time % 60;
var ft = "";
if (hrs > 0) {
ft += "" + hrs + ":" + (mins < 10 ? "0" : "");
}
ft += "" + mins + ":" + (secs < 10 ? "0" : "");
ft += "" + secs;
console.log(ft);
上面的JavaScript块可以正常工作。但是,如果我将
time
更改为等于122.33
,它将打印如下内容:2:02.3299999999999983
我该如何解决?
谢谢。
编辑:
忘了说这不是转换时区。它用于将秒转换为分钟和秒(如果音频跨度很长,则转换为小时)。
最佳答案
用Math.round()
函数应用时,将舍入值。
Refer the link
Math
var time = 122.33, // example time (2 minutes, 2 seconds)
mins = ~~(time / 60),
secs = time % 60;
var hrs = ~~(time / 3600),
mins = ~~((time % 3600) / 60),
secs = time % 60;
var ft = "";
if (hrs > 0) {
ft += "" + hrs + ":" + (mins < 10 ? "0" : "");
}
ft += "" + mins + ":" + (secs < 10 ? "0" : "");
ft += "" +Math.round( secs);
console.log(ft);
关于javascript - 分和秒功能输出多余的数字,如果时间包含毫秒则结束,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40337709/