包含计算公式的文本框

时间:2016-03-22 11:54:55

标签: c# .net winforms textbox calculator

我想使用C#.Net在Windows窗体中创建一个文本框,它将能够处理简单的计算。例如,如果用户在文本框=5*7中写入,那么当文本框得到验证textbox.Text = 35时。

我的问题是如何将字符串"=5*7"转换为doubles和符号以便进行计算。

2 个答案:

答案 0 :(得分:2)

在这里使用CodeAnalysis.CSharp.Scripting库如何使用它wiki

答案 1 :(得分:0)

您可以使用CodeAnalysis.CSharp.Scripting库。它是available from Nuget

using Microsoft.CodeAnalysis.CSharp.Scripting;
using System;

namespace ExpressionParser
{
    class Program
    {
        static void Main(string[] args)
        {
            //Demonstrate evaluating C# code
            var result = CSharpScript.EvaluateAsync("System.DateTime.Now.AddDays(-1) > System.DateTime.Now").Result;
            Console.WriteLine(result.ToString());

            //Demonstrate evaluating simple expressions
            var result2 = CSharpScript.EvaluateAsync(" 5 * 7").Result;
            Console.WriteLine(result2);
            Console.ReadKey();
        }
    }
}

nuget包:

< package id =" Microsoft.CodeAnalysis.Analyzers"版本=" 1.1.0" targetFramework =" net461" />   < package id =" Microsoft.CodeAnalysis.Common"版本=" 1.1.1" targetFramework =" net461" />   < package id =" Microsoft.CodeAnalysis.CSharp"版本=" 1.1.1" targetFramework =" net461" />   < package id =" Microsoft.CodeAnalysis.CSharp.Scripting"版本=" 1.1.1" targetFramework =" net461" />   < package id =" Microsoft.CodeAnalysis.Scripting"版本=" 1.1.1" targetFramework =" net461" />   < package id =" Microsoft.CodeAnalysis.Scripting.Common"版本=" 1.1.1" targetFramework =" net461" />