javascriptで文字列方程式を数値に変換する方法は?
「100*100」または「100x100」があるとしたら、それを評価して数値に変換するにはどうすればよいですか?
javascriptで文字列方程式を数値に変換する方法は?
「100*100」または「100x100」があるとしたら、それを評価して数値に変換するにはどうすればよいですか?
文字列が常に「100*100」のようなものになることが確実な場合は、そうすることができますeval()
が、悪意のあるコードを eval に渡す可能性があるため、ほとんどの人はこれは良い考えではないと言うでしょう。 'd。
eval("100*100");
>> 10000
それ以外の場合は、カスタムの方程式パーサーを見つけるか作成する必要があります。その場合は、Shunting-yard アルゴリズムを調べて、解析について読んでください。
使用split()
:
var myEquation = "100*100";
var num = myEquation.split("*")[0] * myEquation.split("*")[1];
>> 10000
*
これにより、文字列がまたはを使用しているかどうかにかかわらず、製品が得られますx
。
var str = "100x100";
var tmp_arr = str.split(/[*x]/);
var product = tmp_arr[0]*tmp_arr[1]; // 10000
parseInt() を使用します。parseInt() 関数は文字列を解析し、整数を返します。
parseInt("100")*parseInt("100") //10000