问题描述
decimal dBaseSal = decimal.Parse(dataBoundItemt.FindControl("lblTotalComp1") is Label ? (dataBoundItemt.FindControl("lblTotalComp1") as Label).Text : "0");
输入字符串的格式不正确。
如何像现在使用Label一样进行验证,以确保在标签中创建它,而且,如果确实以“”出现,则仅在该条件下将该值设置为零。它必须为十进制格式,因为有时会有一些十进制值。
谢谢
解决方法
解析将返回该值。 如果找不到完全匹配的内容,则Parse将引发异常。
TryParse将返回布尔值并取出该值。 TryParse将尝试解析和转换,如果没有找到完全匹配的内容,它将返回false,否则返回true。如果找不到完全匹配的类型,则返回默认类型。
您可以这样做,
decimal.TryParse(dataBoundItemt.FindControl("lblTotalComp1") is Label ? (dataBoundItemt.FindControl("lblTotalComp1") as Label).Text : "0",out decimal dBaseSal);