C#计算表达式(仿计算器功能)

一、用MSScriptControl在C#中执行JavaScript代码javascript中有个eval方法用过的人都知道他的方便和强大之处。
在C#中,我们也可以通过Com组件来执行一段javascript代码。
下面的代码展示了如何用MSScriptControl 组件执行一段数学表达式:

MSScriptControl.ScriptControlClass sc = new MSScriptControl.ScriptControlClass();
sc.Language = "javascript";
object obj = sc.Eval("500-(110-100)/2*6");
Console.WriteLine(obj);

要使用MSScriptControl需要引用com组件 Microsoft Script Control 1.0。

二、引用Microsoft.JScript与Microsoft.Vsa两个命名空间,并调用JScriptEvaluate方法实现
注:需加入Microsoft.JScript与Microsoft.Vsa两个命名空间。(已过时)

///<summary>
///四则混合运算
///</summary>
///<param name= "sExpression">计算表达式</param>
///<returns>计算结果</returns>
///<example>
///<code>
///object x = Mathx.Eval("500-(110-100)/2*6");
///</code>
///</example>
public static object Eval(string sExpression)
{
	 Microsoft.JScript.Vsa.VsaEngine ve = Microsoft.JScript.Vsa.VsaEngine.CreateEngine();
	 return Microsoft.JScript.Eval.JScriptEvaluate(sExpression, ve);
}
时间: 2024-12-14 18:09:22

C#计算表达式(仿计算器功能)的相关文章

Justinmind使用教程(2)——计算表达式及条件使用方法

Justinmind的计算表达式以及条件condition的使用对于初学者而言比较麻烦. 结合网上了一个教程本文主要针对计算器示例进行计算表达式以及条件的使用. 实现目标:根据单价(静态)和数量(动态),自动计算出金额.下图: 在数量文本框右侧添加两个矩形部件,上方为+,下方为-,点击+或-自动减1,当数量为0时,不允许计算. [具体步骤] (只介绍重点) 1.选中+:2.添加事件(点击+按钮设置数量+1): 3.事件为"鼠标单击时"(默认):4.选择动作为"设置值"

华为上机练习题--计算表达式

题目: 输入一个表达式,没有括号,数字小于0-9之间,输出计算结果,所有的中间结果化为整形. 例如:  输入:3+8×2/9-2 输出:2 函数原型 public int getMyRet(String str) 分析: 这个题目略显高端啊, 像我这种非专业的自学者,还真没有学过编译原理之类的课程, 要自己实现一个这种小型的编译器是非常困难啊, 所幸的是这个题目是用java来实现的, 而我本身也曾经看到过用java来实现这类的问题, 这类问题有一种方法就是实现类编译器功能的函数, 这个我是驾驭不

用python的正则表达式实现简单的计算器功能

#!/usr/bin/env python # -*- coding:utf-8 -*- import sys import re def welcome_func(): """ 输入判断 :param expression: 表达式 :return: 返回有效表达式 """ welcome_str = "超级计算器" print(welcome_str.center(50,'*'),'\n') # 输出欢迎界面 while

12.6 实现选项的计算表达式

在 12.4 节,我们用选项值作为示例,介绍了用 LINQ 查询和 F# 计算表达式创建非标准计算的概念,处理选项值的代码,有自定义的值绑定读取实际值,如同标准值.既然我们已经知道如何转换计算表达式,也就知道我们的 Bind 成员会接收值和 lambda 函数.因为我们处理的是选项类型计算表达式,只有当值是 Some(x) 而不是 None 时,我们才打算执行 lambda 表达式:后一种情况,我们可以立即返回 None. 要运行前面的例子,我们需要在 C# 中实现 LINQ 查询运算符,在 F

JavaScript实现计算器功能

截图 : cal.js Js代码   var Class = {} ; Class.calculation = function(){ var calculation = {} ; calculation.result = 0 ; calculation.calculate = function(num1,num2){} ; calculation.getResult = function(){ return this.result ; } ; return calculation ; } ;

android实现计算器功能

设计一个简单的计算器. 第一个Activity的界面. 第二个Activity显示算式和计算结果. 第一个Activity代码: import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; impor

创建类来实现简易计算器功能

计算器功能:简易的实现两数之间的加减乘除 程序代码: counter类: package com.counter; public class Counter { public void count(String fuHao,double a , double b){ switch (fuHao){ case "+": double sum1 = a + b; System.out.println("两数之和为:"+sum1); break; case "-

通过键盘接收数值和字符,实现计算器功能。

import java.util.Scanner; /** * @author 蓝色以太 * 通过键盘接收数值和字符,实现计算器功能. */ public class Calculator { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入第一个数值:"); double num1=sc.nextDouble(); System.out

Shell 实现简单计算器功能

Shell 实现简单计算器功能,脚本如下: [[email protected] scripts]# cat jisuan.sh #!/bin/bash print_usage(){     printf $"USAGE:$0 NUM1 {+|-|*|/} NUM2\n"     exit 1 } #判断传入的参数是不是3个 if [ $# -ne 3 ]   then     print_usage fi firstnum=$1 secondnum=$3 op=$2 #对传入的参数进