2016-06-11 5 views
0

私は、ユーザーが小数を入力するプログラムを作っています。次に、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

「自分の別の値にそれらを作る」 - あなたは何を意味しますかそれ? – Thinker

+0

私はそれらを独自の変数にすることを意味します。申し訳ありませんが、よく言われませんでした。 –

+0

例を挙げることができますか? (言い換えれば、:) – Thinker

答えて

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 
} 
1

split()メソッドを使用して分数から分子と分母を取得できます。たとえば :

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

これは、基本的には他の回答と同じですが、私は私も一因かもしれない考え出し:

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

@Suever私がStackExchangeを初めて使用していて、「コードサンプル」ボタンを使用して私を元に戻すことが困難だったので、私が彼らが答えたのを見て、すでにそれを書いていたからです。 –

+0

申し訳ありませんが、これは文字通りちょうど投稿されたことを認識していませんでした。これはレビューキューに現れたので、私はコメントしました。続ける! – Suever

+0

@Suever問題はありません。私はあなたが実際に私のコメントを受け入れ、私に新しいものを裂かなかったことにちょっとショックを受けました。ここにいる人々は、インターネットの他の場所よりも、より良く、合理的です。 –

関連する問題