2011-08-13 73 views
0
var num1 = "5.54"; 
var num2 = "10"; 
result = (num1/num2)*100; 

使用javascript結果顯示50.但如果我用計算器做數學運算,我發現55.4是正確的。請你請幫助javascript代碼來做出結果55.4。面對數學函數的問題

...

嗨,我設法使它工作使用parseFloat 示例 - VAR NUM1 = parseFloat(的document.getElementById( 「obtainedmark」)值。); var num2 = parseFloat(document.getElementById(「totalmark」)。value);

謝謝:)

+0

你需要學習整數除法之間的差別與浮點分割。 – Oded

+1

@Oded:[在JS中幾乎沒有區別](http://jsfiddle.net/AkxdM/)。 –

+0

我無法重現50.請參閱http://jsfiddle.net/aa5yX/ –

回答

1

使用parseFloat:

result = (parseFloat(num1)/parseFloat(num2))*100 ; 

編輯:

我剛纔檢查和它的作品沒有解析爲好。問題在你的代碼中的其他地方。

+0

當需要時,字符串可以隱式轉換爲浮動。 –

2
+0

我很傷心,不是每個人都會明白console.log是如何工作的:( – Jacksonkr

+0

@傑克遜:呃..真的。 –

0

我寫了一個Java腳本函數

function disp_text1() 
    { 
     var num1 = "5.54"; 
       var num2 = "10"; 
       result = (num1/num2)*100 ; 
       alert(result); 

    } 

我得到55.400000000000006 ....在調用該函數...再次嘗試....

+0

你是否總是用這種方式縮進你的代碼? –

+0

y ....我是一個新手JavaScript程序員....請給點建議...... – user893096