输入字符串的格式不正确

本文关键字:不正确 格式 字符串 输入 | 更新日期: 2023-09-27 18:29:03

        if (Session["totalCost"] != null)
        {
             if (Session["totalCost"] != "confirm")
             {
                totRevenueLabel.Text = totalRevenueInteger.ToString();
                totalRevenueInteger += int.Parse(Session["totalCost"].ToString());
             }

但是,当我执行程序时,它说输入字符串没有以正确的格式放置

请帮忙!

输入字符串的格式不正确

你正在解析

int.Parse(Session["totalCost"].ToString());

因此,假设Session["totalCost"]具有字符串格式的数值。但之前你正在做:

if (Session["totalCost"] != "confirm")

这表明Session["totalCost"]包含字符串格式的字母。这两种说法是相反的。我希望现在你能找到你的问题。

此错误意味着您尝试从中解析整数的字符串实际上不包含有效的整数。

int i;
if(int.TryParse(Session["totalCost"].ToString(), out i)
{
   totalRevenueInteger = i;
}

如果Session["totalCost"].ToString())为空或为空int.parse将抛出input string was not put correct format

尝试添加错误处理或使用int.TryParse并提供默认值

例:

         if (Session["totalCost"] != "confirm")
         {
            totRevenueLabel.Text = totalRevenueInteger.ToString();
            int value = 0;
            int.TryParse(Session["totalCost"].ToString(), out value);
            totalRevenueInteger += value;
         }

         if (Session["totalCost"] != "confirm")
         {
            totRevenueLabel.Text = totalRevenueInteger.ToString();
            string value = Session["totalCost"].ToString();
            totalRevenueInteger += !string.IsNullOrEmpty(value) ? int.TryParse(value) : 0;
         }