我将如何着手分隔字符串中的数字并使它们成为自己的值?

How would I go about separating numbers in a string and making them their own values?

我正在制作一个用户输入分数的程序,然后一些 JavaScript 代码将计算出给定分数的百分比。

比如图我输入2/4,程序会return50%。

我想知道 JavaScript 中是否有一个函数可以将分子和分母与给定值分开,并使它们成为各自独立的值。到目前为止,这是我的代码:

HTML:

    <!doctype html> 
<html>
   <head>
      <title>Percentage finder JavaScript</title>
      <link rel="stylesheet" href="styles/Index.css" />
   </head>
   <body>
      <h1 id="Head">Enter your fraction:</h1>
      <form>
         <input id="fraction" autofocus="on" placeholder="i.e: 1/4"></input>
         <input type="submit" id="sbmt"></input> 
      </form>
   </body>
   <script src="Scripts/js/Index.js" type="text/javaScript"></script>
</html>

JavaScript:

document.getElementById('sbmt').onclick = function() {

var x = document.getElementById('fraction').value;

}

假设用户输入 value_1 / value_2,不带括号、乘号等...:

document.getElementById('sbmt').onclick = function() {
    var value = document.getElementById('fraction').value;
    var array = value.split(/\//);
    var a = +array[0];
    var b = +array[1];
    var result = 100 * (a / b) + '%'; // or just 100 * a / b
}

ES6:

document.getElementById('sbmt').onclick = function() {
    const value = document.getElementById('fraction').value;
    const [a, b] = value.split(/\//).map(x => +x);
    const result = 100 * (a / b) + '%'; // or just 100 * a / b
}

您可以使用 split() 方法从分数中获取分子和分母。 例如:

var x = document.getElementById('fraction').value;
var y = x.split('/');
var percentage = y[0]/y[1]*100;

这与其他答案基本相同,但我想我不妨贡献一下:

var parts = x.split('/');
var percentage = parts[0]*100/parts[1]