2010-03-18 105 views
2

我有一個關於數字轉換i JS的問題。我有一個數字,如1613841.93424(米),我希望它轉換爲1.6公里,而不是。我應該使用哪些JS函數?謝謝。使用Javascript進行單位換算

+0

這不是數字的轉換 - 這是單位轉換。絕對數量的數字是相同的。 – 2010-03-18 16:03:54

+4

不是1613841.93424(米)= 1613.84193424(公里)? 1公里= 1000米吧?該帖子中指定的數字如何等於1.6公里!? – 2010-03-18 16:05:59

+0

是的,我弄錯了。它是1613公里:) – Vonder 2010-03-18 16:17:19

回答

16

從米轉換爲公里,只需1000分要使用定點表示法格式的數字,您可以使用toFixed()方法:

var km = 1613841.93424/1000; 
alert(km.toFixed(1) + " km"); // 1613.8 km 

注:1613841.93424米= 1.6公里(Source

+0

是的,它是1613年,我在寫沒有想到;) – Vonder 2010-03-18 16:19:42

0

1613841.93424米= 1613,841.93424公里

只需通過1000

1

使用Math.round劃分:

m = 1613841.93424; 
var km = Math.round(m/100)/10; 
// km = 1613.8 

這會給四捨五入爲1/10公里結果

+0

輪未定義。使用Math.round。 – Alsciende 2010-03-18 16:04:43

+0

謝謝,更正 – 2010-03-18 16:11:56

3

要在小數點右邊顯示一個數字(如果這是您要求的......我猜你知道如何將m轉換爲km):

.toFixed(1) 
0

我通常處理浮動填充數字與我自己的

 
var zeroPad = function(num, pad){ 
    var pd = Math.pow(10,pad); 
    return Math.floor(num*pd)/pd; 
} 
alert(zeroPad(1.32878,3)); // outputs 1,328 
alert(zeroPad(1.32878,1)); // outputs 1,3 
功能

後來終於要轉換爲公里除以1000,適用ZEROPAD和解決
例如:

 
var m = 1613841.93424; 
var km = zeroPad(m/1000,3); 
alert(km); // outputs 1613.841 
+0

有趣的是,你的函數實際上沒有用零填充,而是做與Number.toFixed相同的東西:) – Alsciende 2010-03-18 16:16:09

+0

不錯,謝謝你。 – Vonder 2010-03-18 16:18:42

+0

@Alsciende它的真實,我現在試過了,下次我會記得,我的代碼中有很多功能可以用本機代碼解決,但是我仍然在學習 – markcial 2010-03-18 17:07:54