最简单的字符串算式计算方法

大家都遇到过,计算一个字符串算式的问题,解决起来挺麻烦的。我在一年前想过一个办法,就是连 一下数据库,执行“Select [算式] as Result”,从而得到结果。这几天因对公司程序的优化,我的这 个模块要摆脱数据库,所以这种方法也就不能用了。结果从网上查结果,也没有找到确切的办法。

最后绞尽脑汁想了一个这样的方法:

using System;
public static class WwmEval
{
    static System.Windows.Forms.WebBrowser wb;
    static WwmEval() {
        wb = new System.Windows.Forms.WebBrowser();
        wb.DocumentText = @"<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0  Transitional//EN""><html><head><script  type=""text/javascript"">function myEval(ss){ return eval(ss);} </script></head><body></body></html>";
    }

    public static double Eval(string Expressions) {
        return Convert.ToDouble(wb.Document.InvokeScript("myEval", new object[]  { Expressions }));
    }
}

最后调用,WwmEval.Eval("2*(100+100)");结果是:400;

不过这样还不是很完美。由于是按需编译的,所以在第一次调用时结果是0,我记得有一个特性可以强 编译!具体是那个,怎么解决,望各位前辈帮我。我可能孤陋寡闻,这样做太笨,也望前辈们指教。

时间: 2024-10-03 04:08:18

最简单的字符串算式计算方法的相关文章

gui- 新手求教一道简单的字符串题目。。

问题描述 新手求教一道简单的字符串题目.. 假设一道包含n个单词的题,经蓝神读过之后,虽然单词的长度和 数量都没有变化,但内容可能已经面目全非了.现在,蓝神的队友需要你帮忙计算一下原题与蓝神读过之 后的题的相似度.单个单词相似度的计算方法是蓝神读之前和读过之后没有变化的字母个数除以单词长度 乘上百分之百,总的相似度等于所有单词相似度的平均值. Input 第一行一个整数T(T <= 200),代表蓝神读了T次题.每次第一行一个整数n(0 < n <= 100),代表这次的题有n个单词,接

malloc-小弟谢了一个简单的字符串求最大子串的程序不知道错哪里,請大神帮忙回答下

问题描述 小弟谢了一个简单的字符串求最大子串的程序不知道错哪里,請大神帮忙回答下 程序要求如下: 一个字符串,字符连续的部分为子串(不含带数字的部分) 下面是我写的程序 #include using namespace std; char* BiggestStr(char* str) { char* pStr = (char*)malloc(sizeof(str)+1); //申请一个空间存最大子串 int nCount = 0; //用于记录最大子串的长度 int J_nCount=0; ch

SQL点滴3—一个简单的字符串分割函数

原文:SQL点滴3-一个简单的字符串分割函数 偶然在电脑里看到以前保存的这个函数,是将一个单独字符串切分成一组字符串,这里分隔符是英文逗号","  遇到其他情况只要稍加修改就好了 CREATE FUNCTION dbo.f_splitstr(     @str varchar(8000))RETURNS @r TABLE(id int IDENTITY(1, 1), value varchar(5000))ASBEGIN /* Function body */    DECLARE @

link实现一个简单的字符串压缩算法,比如aaabbbcccccccdddd压缩成a3b3c7d4

问题描述 link实现一个简单的字符串压缩算法,比如aaabbbcccccccdddd压缩成a3b3c7d4 link实现一个简单的字符串压缩算法,比如aaabbbcccccccdddd压缩成a3b3c7d4 解决方案 用栈不是很好解决吗?维护两个栈或一个栈,一个数组,先将字符入栈,然后判断栈顶与栈顶的下一个元素是否相同,是就出栈,数组里面的最后一个元素自加一:否则栈不动,数组下一个地址赋值1.最后输出栈内元素与数组就好了

PHP简单判断字符串是否包含另一个字符串的方法_php技巧

本文实例讲述了PHP简单判断字符串是否包含另一个字符串的方法.分享给大家供大家参考,具体如下: 在使用PHP判断某字符串中是否包含一个简单的子字符串的时候,我们通常会用到strpos()或者stristr()这两个函数,可是偏偏如果这个字符串的位置如果是在索引0位置,也就是说在要匹配的字符串的最开始,则会出问题. 当然我们还是有解决的方法的,这里就有一个笨办法,但是比较好用,无论中英文,标点符号都适用. 代码如下: function checkStr($str,$target) { $tmpAr

php简单统计字符串单词数量的方法_php技巧

本文实例讲述了php简单统计字符串单词数量的方法.分享给大家供大家参考.具体实现方法如下: <?php function word_count($sentence){ $array = explode(" ", $sentence); return count($array); } $words = word_count("The is a group of words"); echo $words; ?> 希望本文所述对大家的php程序设计有所帮助.

Java简单获取字符串像素的方法_java

本文实例讲述了Java简单获取字符串像素的方法.分享给大家供大家参考,具体如下: 计算字符串的像素长度与高度: Graphics2D g = (Graphics2D)Toolkit.getDefaultToolkit(). getImage("imgname").getGraphics(); // 设置大字体 Font font = new Font("楷体", Font.ITALIC | Font.BOLD, 72); g.setFont(font); FontR

《Redis设计与实现》阅读:Redis底层研究之简单动态字符串SDS

        除仅用于字符串字面量的情况外,对于可以被修改值的字符串的表示,Redis底层并没有采用C语言传统的字符串表示,即以空字符结尾的字符数组,而是采用专门为其设计的简单动态字符串作为其默认字符串表示,其英文全称为Simple Dynamic String,简称SDS.除了用于保存数据库中字符串值外,SDS也可以用于缓冲区buffer,比如AOF中的缓冲区.客户端输入缓冲区等.本文,我们将详细研究简单动态字符串SDS的实现及其在性能等方面的独特之处.             注:内容总结

php简单截取字符串代码示例_php技巧

本文实例讲述了php简单截取字符串的方法.分享给大家供大家参考,具体如下: //截取摘要 public static function mbsubstr($str){ $strleng = mb_strlen($str,"utf8"); $mbstr = mb_substr($str,0,140,'utf8'); $strdstr = mb_substr($str,140,$strleng,'utf8'); $strlengs = mb_strlen($strdstr,'utf8');