C# 用户代码未处理格式异常 @foreach(模型中的var结果) { ////var num=转换为32(x); //int n=int.Parse(x); //int n=Integer.parseInt(x); if(Convert.ToInt64(@result.Difference)

C# 用户代码未处理格式异常 @foreach(模型中的var结果) { ////var num=转换为32(x); //int n=int.Parse(x); //int n=Integer.parseInt(x); if(Convert.ToInt64(@result.Difference),c#,asp.net-mvc-3,C#,Asp.net Mvc 3,在我的模型中,差异是一个字符串,我想将其转换为整数。我尝试了各种方法,但它显示了以下错误: 输入字符串格式不正确 导致此异常的是字符串中的逗号,请尝试以下操作 @foreach (var result in Model) { ////var num=Convert.ToInt32(x); //int n=int.Parse(x); //int n=Integer.parseInt(x);

在我的模型中,差异是一个字符串,我想将其转换为整数。我尝试了各种方法,但它显示了以下错误:

输入字符串格式不正确

导致此异常的是字符串中的逗号,请尝试以下操作

@foreach (var result in Model)
      {              
        ////var num=Convert.ToInt32(x);
        //int n=int.Parse(x);
        //int n=Integer.parseInt(x);            
      if (Convert.ToInt64(@result.Difference) < 0)
      {
      <tr>
        <td>@result.SalesIncentiveBuckets
        </td>
        <td>@result.CurrentMonth
        </td>
        <td>@result.SameMonthPrevYear
        </td>
        <td style="color:Red;">@result.Difference
        </td> 
        <td>@result.BonusAmount
        </td>
      </tr>
      }
      else
      {
      <tr>
         <td>@result.SalesIncentiveBuckets
         </td>
         <td>@result.CurrentMonth
         </td>
         <td>@result.SameMonthPrevYear
         </td>
         <td>@result.Difference
         </td> 
         <td>@result.BonusAmount
         </td>
       </tr>
      }
    }

您必须添加
System.Globalization
namespace才能实现这一点。

差异的价值是什么?“33,64559”是差异的价值。它不起作用,需要添加任何获取数字样式的参考
int num = int.Parse(result.Difference, NumberStyles.AllowThousands);