掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
文字列の計算式の計算結果を取得するには? (ID:64831)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
こんにちは。表題の件で質問です。 1+2/3*4 のような文字列を与えて、その計算結果を取得する方法を探しています。 開発環境はVS2005 C#ですが VBでもVCでも或いはWindowsで動作する他言語、他環境でも構いません。 http://dobon.net/vb/dotnet/programing/eval.html こちらのDobonさんの記事を参考にしてみたところ 四則演算のような単純なものは対応できました。以下、サンプルです。 using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //計算式 string exp = "1/2*3/4"; Microsoft.JScript.Vsa.VsaEngine ve = Microsoft.JScript.Vsa.VsaEngine.CreateEngine(); double result = (double)Microsoft.JScript.Eval.JScriptEvaluate(exp, ve); Microsoft.JScript.MathObject.sqrt(2); //結果を表示 Console.WriteLine(result); } } } しかし、もっと複雑な演算をしたい場合 例えば、√や二乗や三角関数?などなど この方法の延長で対応させる解が見つかりませんでした。 http://www.katamari.jp/index.php?dev%2Fvb%2F%CA%B8%BB%FA%CE%F3%A4%CE%B7%D7%BB%BB%BC%B0%A4%CE%B7%D7%BB%BB こちらを参考に逆ポーランド記法に直して 自力で演算することも考えましたが できれば文字列から1発で計算結果を取得したいです。 アドバイス宜しくお願いします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.