- 日時: 2009/12/27 12:37
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[文字列処理][その他コントロール][応用コード] * * キーワード:テキストボックスに入力された計算式を実行する,アルゴリズム,,, * ***********************************************************************************
元質問:四則演算について - みるく 2004/10/17-10:59 No.628
いま簡単な四則演算ができるプログラムを作成しているのですが、、、、 テキストボックスに(3+2)*2と入力されたら、ラベルに10と出力されるもので、かっこは1つまで使えるようにします。 今はまず数式を変数に代入し、その中からかっこを検索し、かっこがある場合かっこの中の数式を変数に代入するところまでできています。そこから計算する処理として、"*"と"/"を先に計算しその後に"+"と"-"を計算、そしてかっこの答えをかっこのあった場所に置き換え、計算の処理をする...としていきたいのですが、どうしたら"*"と"/"を先に計算することができるのでしょうか。どうか教えてください
--------------------------------------------------------------------------- Re: 四則演算について - 花ちゃん 2004/10/17-12:11 No.629 --------------------------------------------------------------------------- プロジェクト→コンポーネント から Microsoft ScriptControl1を選択して Formに貼り付けて下さい。
Option Explicit
Private Sub Form_Load() Text1.Text = "(3+2)*2" ' Text1.Text = "2^3" ' Text1.Text = "4 * Atn(1)" ' Text1.Text = "Sqr(4)" ' Text1.Text = "1/sin(1.3)" End Sub
Private Sub Command1_Click() Text1.Text = StrConv(Text1.Text, vbNarrow) Label1.Caption = "答えは= " & ScriptControl1.Eval(Text1.Text) & " です" End Sub
その他、色々試して見て下さい。
回答した私もすっかり忘れていました。 昔このような事ができたら宿題いくらでも できて立たされなくても済んだのにな。 (どうせ式が解らないから一緒ではって聞こえてきそう)
|