2014-04-30 46 views
0

我的問題是說我把1/2,這將是21/2而不是3/2。我知道它認爲這是一個文本字符串,所以它將文本放在一起,而不是添加2 + 1。我需要寫一個混合的數字作爲不正確的部分

請幫忙!這裏是我的代碼:需要改變

<head> 
    <script> 
    function convert(){ 

    var nu = Math.round(document.getElementById("nu")); 
    var de = Math.round(document.getElementById("de")); 
    var wh = Math.round(document.getElementById("wh")); 

    var wdn = (wh.value*de.value)+nu.value; 
    var display = document.getElementById("display"); 
    display.value = wdn+"/"+de.value; 
    return false; 
    } 
    </script> 
    </head> 
    <body> 
    <form onsubmit="return convert()"> 
    Whole: <input type="number" id="wh" style="width: 30px;"> 
    <br> 
    <br> 
    <input type="number" id="nu" style="width: 30px;"> 
    <br> 
    -------- 
    <br> 
    <input type="number" id="de" style="width: 30px;"> 
    <br> 
    <textarea id="display" readonly style="border: 0px solid black; width: 300px; height: 200px;"></textarea> 
    <br> 
    <input type="submit" style="visibility: hidden;"> 
    </form> 
    </body> 

回答

1

這些代碼行:

var nu = Math.round(document.getElementById("nu")); 
var de = Math.round(document.getElementById("de")); 
var wh = Math.round(document.getElementById("wh")); 

var wdn = (wh.value*de.value)+nu.value; 
var display = document.getElementById("display"); 
display.value = wdn+"/"+de.value; 

正確的使用方法:

var nu = Math.round(document.getElementById("nu").value); 
var de = Math.round(document.getElementById("de").value); 
var wh = Math.round(document.getElementById("wh").value); 

var wdn = (wh*de)+nu; 
var display = document.getElementById("display"); 
display.value = wdn+"/"+de; 

說明:

Math.round()不能在HTML工作元素由document.getElementById().返回但是,它可以處理包含i的值n該元素,它將字符串轉換爲數字類型(也圍繞它)。

+1

我正要說同樣的事情。這是一個[JSFiddle](http://jsfiddle.net/HE66X/)。 –

相關問題