2015-09-05 21 views
1

我有一個代表時間的數字,我需要將此數字轉換爲字符串。在javascript中將數字轉換爲字符串

如N = 800,則表示時間= 8:00

目前,我這樣做:

n = 800; 
string time = '' + n/100 + ' : ' + n % 100 ; 

time成爲8 : 0但我要像8 : 00 任何人都在兩位數格式分鐘請幫我嗎?

+0

那麼早上8點15分會表示爲「815」? – nnnnnn

回答

2
var n = 800;  
var hours = Math.floor(n/100); 
var minutes = ('0' + (n%100)).slice(-2); 
var time = hours + ':' + minutes; 

請注意幾小時的舍入,否則最終可能會出現類似「8.56:56」的情況。

1

如果你正試圖在這裏做的是插入的最後兩位數字前一個冒號,你可以做一個字符串替換:

var time = ("" + n).replace(/(\d\d)$/,":$1"); 

或切片出來的小時和分鐘,並用冒號串聯:

var time = "" + n; 
time = time.slice(0,-2) + ":" + time.slice(-2); 
+0

感謝您的解決方案太有用 – EmptyData

0

只是一個快捷的解決方案:P

var a = 800; 
var b = a.toString(); 
var first = b.replace(b.substring(b.length - 2),":"+b.substring(b.length - 2)); 

http://jsfiddle.net/6pfhyhhg/