我有一个函数接收字符串参数并将它们转换为整数。
为了安全转换,使用了int.TryParse()。int.TryParse()返回false为“#。##”
public IEnumerable<object> ReportView(string param1, string param2)
{
int storeId = int.TryParse(param1, out storeId) ? storeId : 0;
int titleId = int.TryParse(param2, out titleId) ? titleId : 0;
IEnumerable<object> detailView = new Report().GetData(storeId, titleId);
return detailView;
}
函数调用ReportView(“2”,” 4” ) - > int.Tryparse成功解析的数字
函数调用ReportView(‘2.00’,” 4.00” ) - > int.TryParse失败解析数字
为什么?任何想法?
@Update
对不起球员,我的观念是错误的。我是c#的新手,我认为Int.TryParse()会返回整数部分并忽略小数。但它不会,即使Convert.ToInt32(“字符串”)
感谢所有。
你还应该指定一种文化。 – CodesInChaos 2012-04-04 14:27:25
我不明白为什么这是downvoted。这个问题显然是一个初学者问题,但它很清楚,而且制定得相当完备。 – 2012-04-04 14:29:00
@moguzalp当人们提出一个问题时,人们是否应该因为不知道某事而被低估? – 2012-04-04 14:37:26