文字列の数式を計算したい への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 (削除されました)  ()
投稿日時
2009/12/22 01:24:28
(削除されました)
投稿者 cupid  (社会人)
投稿日時
2009/12/21 07:13:47
思い出しました。Scriptを利用する方法はあるかもしれませんね。
abc.vbsというTextファイルを作って、中に下記を書いて置く。
dim atai
atai = (10 / 3) + 1.01
call msgbox(CStr(atai))
それで、abc.vbsをWクリックすると答えは出ますから、アプリケーション内に
Script機能を取り込む方法はあるかもしれません。ただしWinXP/SP2以降でです。
abc.vbsというTextファイルを作って、中に下記を書いて置く。
dim atai
atai = (10 / 3) + 1.01
call msgbox(CStr(atai))
それで、abc.vbsをWクリックすると答えは出ますから、アプリケーション内に
Script機能を取り込む方法はあるかもしれません。ただしWinXP/SP2以降でです。
投稿者 cupid  (社会人)
投稿日時
2009/12/21 06:50:12
これは一種のコンパイラーコンパイラーのようなものですから簡単じゃないはずです。
誤った式が来る可能性もあります。例えば 10*(3+2-+25 の様にですね。
> 何か良い方法はありますか?
多分、無いですね。古典的には、プッシュダウン・スタックとかの手法があります。
高等数学では、「逆ポーランド法」を主張する一派もあるようですが、.....
誤った式が来る可能性もあります。例えば 10*(3+2-+25 の様にですね。
> 何か良い方法はありますか?
多分、無いですね。古典的には、プッシュダウン・スタックとかの手法があります。
高等数学では、「逆ポーランド法」を主張する一派もあるようですが、.....
投稿者 オショウ  (社会人)
投稿日時
2009/12/20 02:44:52
http://dobon.net/vb/dotnet/programing/eval.html
以上。参考まで
以上。参考まで
投稿者 まさひと  (社会人)
投稿日時
2009/12/20 02:16:57
文字列の計算式を計算する方法はありますか?
例
String型で
50*20/4+12*10
のように指示している文字列を計算したいのですが・・・
何か良い方法はありますか?
例
String型で
50*20/4+12*10
のように指示している文字列を計算したいのですが・・・
何か良い方法はありますか?
オショウさんが紹介された URL にある『ScriptControl』を使う事で
VBScript 等をアプリ上から利用できます。
他にはこんな方法とか、
あるいは、こういった方法もあります。