2015-11-03 77 views

回答

0

可以將字符串分割成與split()陣列,然後在第一個或第二部分作爲分子或分母:

function getNumerator(fraction) { 
    // fraction = "10/27" 
    return fraction.split("/")[0]; 
} 

function getDenominator(fraction) { 
    // fraction = "10/27" 
    return fraction.split("/")[1]; 
} 
+0

它的工作,謝謝! – jeffkmeng

0
var fraction = "10/27".split("/"); 
var numerator = fraction[0]; 
var denominator = fraction[1]; 

當然,你可以使用一個庫它太:https://github.com/ekg/fraction.js

與此庫的回答將是:

(new Fraction(10, 27)).numerator 
+1

感謝您的簡單介紹 – jeffkmeng

0

您可以使用indexOf()在字符串中進行搜索。它返回搜索字符串的第一個位置。

如果要使用字符分割字符串,請使用split()。它會返回一個數組。因此,對於例如:在你的字符串27/10,的indexOf /是但如果你不拆,你會得到2個值,27和10

function splitString(str, searchStr) { 
 
    return str.split(searchStr); 
 
} 
 

 
function calculateValue(str) { 
 
    var searchStr = '/'; 
 
    var values = splitString(str, searchStr); 
 
    var result = parseInt(values[0])/parseInt(values[1]); 
 
    notify(str, result); 
 
} 
 

 
function notify(str, result) { 
 
    console.log(result); 
 
    document.getElementById("lblExpression").innerText = str; 
 
    document.getElementById("lblResult").innerText = result; 
 

 
} 
 

 
(function() { 
 
    var str = "27/10"; 
 
    calculateValue(str) 
 
})()
Expression: 
 
<p id="lblExpression"></p> 
 
Result: 
 
<p id="lblResult"></p>

的陣列
+0

您可以把它放在一個函數中嗎? – jeffkmeng

+0

@jkm更新了我的答案。 – Rajesh

1

考慮str包含輸入值然後,

a = str.substring(str.indexOf("/")+1); 
b = str.substring(0, str.indexOf("/")); 

輸出: 如果str是"10/17"然後,

a == 17; 
b == 10; 
+0

當我嘗試這個,b只給了我1,而不是10. – jeffkmeng

+0

對不起,我沒有測試過。現在它工作完美。 – Rejaul

相關問題