我正在创建一个用户输入分数的程序,然后一些JavaScript代码将计算出给定分数的百分比。
例如,图I输入2/4,程序将返回50%。
我想知道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;
}
答案 0 :(得分:1)
您可以使用split()方法从分数中获取分子和分母。 例如:
var x = document.getElementById('fraction').value;
var y = x.split('/');
var percentage = y[0]/y[1]*100;
答案 1 :(得分:0)
假设用户输入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
}
答案 2 :(得分:0)
这与其他答案基本相同,但我想我也可以做出贡献:
var parts = x.split('/');
var percentage = parts[0]*100/parts[1]