2011-05-03 31 views
0

這是我的問題有點不同的前如何JavaScript的本輪下跌數 - 繼續

How to round up using javascript

我有這樣的定數,並希望下舍入到小數點後1位。由於標準的JavaScript一輪上漲的功能不能滿足我的要求,希望有人能幫助我:)

下面是所需的輸出中,當本輪下跌:

192.168 =>192.10
192.11 =>192.10
192.21 =>192.20
192.26 =>192.20
192.30 =>192.30

+1

看起來像要將*下降* * 1 *小數點。 – Hamish 2011-05-03 08:49:51

+0

抱歉有誤導性的問題。我編輯它。 – cyberfly 2011-05-03 09:01:35

回答

2

這不是舍入, 192.168四捨五入到小數點後兩位是192.20。

但是,對於您的要求: 你可能只是想乘以10的倍數,取'樓',然後除以相同的數字。

看到它在這裏:http://jsfiddle.net/7qeGH/

var numbers = new Array(192.168,192.11 ,192.21 ,192.26 ,192.30); 

var response = ""; 

for(var i =0 ; i< numbers.length ; i++) 

{ 
    var rounded = Math.floor(numbers[i]*10)/10 + '0'; // '0' is added as string 
    response += numbers[i] + " => " + rounded + "\n"; 

} 

alert(response); 
+0

嗨,我不能理解你的'樓'的句子 – cyberfly 2011-05-03 08:55:50

+0

檢查,在代碼中,其工作正常。 – DhruvPathak 2011-05-03 08:57:53

+0

感謝工作像一個魅力;) – cyberfly 2011-05-03 09:01:57

1

Math.round(number * 10)/10怎麼樣?您將得到一個小數點後的結果,因此您可以在末尾添加一個零點(Math.round(number * 10)/10) + "0"

但是實際上你沒有完成。所以它會是Math.floor()

1

你可以嘗試這樣的事情:

var mynum = 192.168; 
var result=Math.round(mynum*100)/100; 
+0

192.17所以這是不正確的 – cyberfly 2011-05-03 08:53:38

0

很簡單

testVal = Math.round(YourNumberHere*100)/100 ; 
+0

Math.floor其實。這會工作 – 2011-05-03 08:55:25

0

難道你只是想發言嗎?也就是說,「輪下降」。

Math.floor(the_number*10)/ 10)