使用Tryparse在mvc.net中将字符串转换为十进制

时间:2015-09-04 09:50:03

标签: c# asp.net-mvc nhibernate

我已经构建了一个连接到sql表的MVC.net页面,我正在使用数据表。表列类似于Customername,mobileNO,Icno,salary,transactiondate。

我设法获得了一些搜索/过滤功能,因此我可以按客户名称或手机号码搜索,但我无法按日期或salry(十进制)搜索。

我的前端搜索字段包含搜索值:搜索中的键(字符串)和搜索类型:下拉列表:icno,name,date。

以下是我的控制器中的代码。如何使其按工资(小数)和日期进行搜索。

我听说我可以使用tryparse,但我不知道如何在这里。工资在我的类中定义为十进制数据类型,而transactiondate在DateTime数据类型中定义。

if (!string.IsNullOrEmpty(fm["SearchValue"]) && !string.IsNullOrEmpty(fm["SearchType"]))
{
     criteria.Add(Restrictions.Like(fm["SearchType"], "%" + fm["SearchValue"] + "%"));                
}
if (!string.IsNullOrEmpty(fm["SearchValue"]) && !string.IsNullOrEmpty(fm["SearchType"]))
{
     criteria.Add(Restrictions.Like(fm["SearchType"], "%" + fm["Icno"] + "%"));
}
if (!string.IsNullOrEmpty(fm["SearchValue"]) && !string.IsNullOrEmpty(fm["SearchType"]))
{
     criteria.Add(Restrictions.Like(fm["SearchType"], "%" + fm["MobileNo"] + "%"));
}

2 个答案:

答案 0 :(得分:0)

要执行此操作,请使用decimal.parsedecimal.TryParse

var toConvert = "1.5";

var converted = decimal.Parse(toConvert);

如果您在哪里(在控制台应用程序中):Console.WriteLine(converted); 结果将是1.5

答案 1 :(得分:0)

为什么不使用Convert.ToDecimal(“stringValue”)。