2016-06-11 56 views

回答

1

ES6:

const string = '101.2914'; 
let [sec, milisec] = string.split('.'); 
sec = +sec; 
milisec = milisec.slice(0, 3); 

let mins = 0; 
while(sec >= 60) { 
    mins += 1; 
    sec -= 60; 
} 

const result = `${mins}:${sec}.${milisec}`; 

console.log(result); 

舊版本:

var string = '101.2914'; 
var array = string.split('.'); 
var sec = +array[0]; 
var milisec = array[1].slice(0, 3); 

var mins = 0; 
while(sec >= 60) { 
    mins += 1; 
    sec -= 60; 
} 

var result = mins + ':' + sec + '.' + milisec; 

console.log(result); 
+0

謝謝!它的工作原理:D –

+0

'let min = parseInt(sec/60); sec = sec%60;' –

+0

是的,或只是'let min = ~~(sec/60); sec = sec%60;'(假設sec總是正數,這對於時間有意義),否則,按位運算符可能會給出錯誤的結果(對於負數值)。 – Azamantes

0

喲也可以使用這樣的功能。在這裏,我將輸入設置在函數內部,但您可以在調用函數時傳遞它。

$scope.secToMinute= function (input) { 
    input = 101.2914; 

    var min = Math.floor(input/ 60); 
    var second = input - (min * 60); 
    alert(min + ":" + second.toFixed(3)); 
}; 
0

我希望這可以幫到你。

var seconds = '101.2914'; 
var date = new Date(0,0,0); 
date.setSeconds(seconds); 
var result = date.getMinutes() +':'+date.getSeconds()+'.'+seconds.split('.')[1].slice(0,3);