本文介绍了是空检查然后转换为十进制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的代码在这里..
my code is here..
foreach (DataRow dr in gv1.Rows)
{
decimal Total_Sqrft = Convert.ToDecimal(
String.IsNullOrEmpty(Convert.ToString(dr[1])) ?? "0" : Convert.ToString(dr[1])
);
}
更新:
我解决了它使用..
Updated:
I solved It Using..
if(String.IsNullOrEmpty(Convert.ToString(dr[1])))
{
decimal Total_Sqrft=0;
}
else
{
decimal Total_Sqrft = Convert.ToDecimal(dr[1]);
}
但是我想知道上面的操作。
But I want to know about the above operation.
推荐答案
decimal Total_Sqrft = 0;
foreach (DataRow dr in gv1.Rows)
{
Total_Sqrft = 0;
if (dr[1] != null)
{
string tmp = dr[1].ToString();
if (tmp != String.Empty)
Total_Sqrft = decimal.Parse(tmp);
}
}
单行
The one-liner
decimal Total_Sqrft = 0;
foreach (DataRow dr in gv1.Rows)
{
// The below code can be read:
// if dr[1] is not null, use the value in the cell otherwise default to 0.
Total_Sqrft = decimal.Parse((dr[1] == null || dr[1].ToString() == String.Empty) ? "0" : dr[1].ToString());
}
您还可以查看 decimal.TryParse(...)
public decimal CnvToDecimal(object Data)
{
try
{
return System.Convert.ToDecimal(Data);
}
catch
{
return 0;
}
}
并调用此功能
and call the function like this
foreach (DataRow dr in gv1.Rows)
{
decimal Total_Sqrft = CnvToDecimal(dr[1]);
}
祝你好运; - )
good luck ;-)
这篇关于是空检查然后转换为十进制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!