2012-04-23 70 views
1

JavaScriptを使用して文字列式を数値に変換するにはどうすればよいですか?文字列方程式を数式に変換するにはJavaScript?

私は「100 * 100」または「100x100」と評価し、数値に変換するにはどうすればよいですか?

+3

この課題はありますか?これまでに何を試しましたか? – JohnFx

+2

これは宿題ではありません。私はロットサイズをロングフォームに簡単に変換してユーザー入力に直接変換しようとしています。私はeval()とparseIntとparseFloatを試しました。 –

答えて

5

これは、文字列は*またはxを使用しているかどうかをあなたに製品を提供します:

var str = "100x100"; 

var tmp_arr = str.split(/[*x]/); 
var product = tmp_arr[0]*tmp_arr[1]; // 10000 
+1

これは私が感謝のために探していたものです。 –

+0

http://jsfiddle.net/jlaceda/hcDra/テストのある関数の例。 – jlaceda

+0

@Event_Horizo​​nあなたは大歓迎です:) – Paulpro

4

文字列が常に「100 * 100」のようなものになることがわかっている場合は、eval()とすることができますが、ほとんどの人がこれは人々が渡すことができるという事実のためには良い考えではない悪質なコードは評価されるでしょう。

eval("100*100"); 
>> 10000 

それ以外の場合は、カスタム方程式パーサーを見つけたり、書き込んだりする必要があります。その場合は、Shunting-yard algorithmをご覧になり、parsingにお読みください。

split()を使用して

var myEquation = "100*100"; 
var num = myEquation.split("*")[0] * myEquation.split("*")[1]; 
>> 10000 
+0

xと数字で分割し、数字だけを掛ける方法はありますか?それを分裂させるだろうか? –

+0

はい、更新します。 –

0

利用のparseInt()、のparseInt()関数の構文解析を文字列を返し、整数を返します。

 parseInt("100")*parseInt("100") //10000 
関連する問題