2014-09-26 87 views
-2

我在js中做了一個函數,它計算5個數的平均值並將其存儲在一個變量中。 例如,如果我有變量
var avg =(0.18 + 0.18 + 0.19 + 0.21 + 1.14)/ 5;
它給了我這個答案:0.37999999999999995。
我需要答案的長度只有3或4.請幫我解決這個問題。謝謝!如何限制變量的長度js

+0

'Math.floor()'... – loveNoHate 2014-09-26 17:52:15

+0

'toFixed()'可以用來指定多少個號碼後,應顯示小數點。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed – 2014-09-26 17:52:16

+0

[限制javascript中小數點後顯示的數字數量](http:// stackoverflow.com/questions/4256030/limit-the-amount-of-number-shown-after-a-decimal-place-in-javascript) – melancia 2014-09-26 17:52:25

回答

-2

編輯:您還可以使用.toFixed(n)見下文

問候回答,...

+0

因爲否則平均不用作STRING和子字符串Method不用工作。 – Bernd 2014-09-26 17:57:31

+0

是的..忘了固定(n) – Bernd 2014-09-26 18:00:07

+0

謝謝老兄!使用toFixed(n)解決了我的問題! – Kdvinmk 2014-09-26 18:04:21

3
var avg = (0.18 + 0.18 + 0.19 + 0.21 + 1.14)/5; 
avg.toFixed(3); 

限制長度,只顯示小數點後3個數字。

+0

+1比任何人提供正確的解決方案。 – melancia 2014-09-26 18:26:21

0

我不知道你想做的事

限制與toPrecision(n)總長度是什麼:

var num = new Number(14.12); 
console.log(num.toPrecision(2));//outputs 14 
console.log(num.toPrecision(3));//outputs 14.1 
console.log(num.toPrecision(4));//outputs 14.12 
console.log(num.toPrecision(5));//outputs 14.120 

爲了限制的小數部分,使用toFixed(n)

parseFloat(Math.round(num * 100)/100).toFixed(2); 

輸入1.346將返回1.35

0

我想你需要:

parseFloat(avg.toFixed(3)); 


    var avg = (0.18 + 0.18 + 0.19 + 0.21 + 1.14)/5; 
    avg = parseFloat(avg.toFixed(3)); 
    alert(avg);