我从这里开始使用了一个小时,几分,几秒的时间功能: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/

10-09 16:58
查看更多