2015-10-13 55 views
-4

下面是代碼:爲什麼JavaScript給了我簡單算術運算的隨機數字?

var negativeOdds = document.getElementById("negative").value; 
    var positiveOdds = document.getElementById("positive").value; 

    console.log(positiveOdds); 

    var positiveImplied = 100/(positiveOdds + 100); 

var的結果= positiveImplied總是像0.000843時,它應該是圍繞0.454。我已經嘗試了無數與括號的組合,它仍然給我同樣的隨機答案。我控制檯記錄了positiveOdds變量,以確保它獲得正確的信息,而且很明顯。

任何人都知道這是怎麼回事?

什麼我忘了補充的是,它工作在其他情況下完美的罰款:

爲negativeImplied
var negativeOdds = document.getElementById("negative").value; 
    var positiveOdds = document.getElementById("positive").value; 

    console.log(positiveOdds); 

    var positiveImplied = (100)/(positiveOdds + 100); 
    var negativeImplied = (-(negativeOdds))/((-(negativeOdds)) + 100); 

工作正常,不積極在所有的工作。

編輯:適用於parseInt。但我仍然不明白我如何不必使用parseInt for negativeImplied,但必須爲positiveImplied。

+0

就在'document.get .....值的前面加上'+';' – Tushar

+1

嘗試使用'parseInt函數()'的'positiveOdds'變種 – naththedeveloper

+0

可能的複製[浮點數學是否被破壞?](http://stackoverflow.com/questions/588004/is-floating-point-math-broken) – gmo

回答

1

使用Number

var negativeOdds = Number(document.getElementById("negative").value); 
var positiveOdds = Number(document.getElementById("positive").value); 
var positiveImplied = 100/(positiveOdds + 100);