String 如何将lambda中的字符串转换为十进制?

String 如何将lambda中的字符串转换为十进制?,string,linq,lambda,decimal,String,Linq,Lambda,Decimal,我有密码 myEntities db = new myEntities(); var query = from s in db.mytable select s; if (!String.IsNullOrEmpty(str)) { query = query.Where(p => p.total == str); } 这里,“total”的类型是一个包含数字和字符的字符串,例如“14x56xz”。我想从“total”字符串中获取数字部分

我有密码

    myEntities db = new myEntities();
    var query = from s in db.mytable select s;
    if (!String.IsNullOrEmpty(str))
    {
      query = query.Where(p => p.total == str);
    }
这里,“total”的类型是一个包含数字和字符的字符串,例如“14x56xz”。我想从“total”字符串中获取数字部分(例如1456),并将其转换为十进制数,有时需要将其转换为负数,使代码如下所示:

    query = query.Where(10 <= p => p.total <= 1000);

query=query.Where(10 p.total只需在lambda中解析它。例如:

query = query.Where(10 <= p => decimal.Parse(p.total) <= 1000m);

query=query.Where(10 decimal.Parse(p.total)谢谢,Jon!很抱歉我没有说清楚。“total”是由数字和字符组成的,首先,我要处理“total”字段,然后将其与小数进行比较。我已经写了一个处理此字段的方法,但我不知道如何在lambda中调用此方法。@Tom:您还没有真正弄清楚该方法是什么样的,输入是什么样的,或者您正在使用它做什么。您还需要说明是使用LINQ to SQL还是其他什么g类似,或LINQ to Objects-这对你是否能够使用你的方法有很大的影响。嗨,Joh。我正在使用LINQ to Entity,对此我是一个新手。我已经修改了这个问题。非常感谢你!