C# 如何在ASP.NET razor视图中划分两个项目

C# 如何在ASP.NET razor视图中划分两个项目,c#,asp.net,razor,C#,Asp.net,Razor,我试图将两个项目分为以下两部分: <td>@item.Sum(m => m.stat.hits) / @item.Sum(m => m.stat.AB)</td> @item.Sum(m=>m.stat.hits)/@item.Sum(m=>m.stat.AB) 但它只会产生这样的文本格式 1197/3956 我做错了什么 我期待着结果 更新 让它工作了 <td>@Math.Round(Decimal.Divide(item.Sum(m =&g

我试图将两个项目分为以下两部分:

<td>@item.Sum(m => m.stat.hits) / @item.Sum(m => m.stat.AB)</td>
@item.Sum(m=>m.stat.hits)/@item.Sum(m=>m.stat.AB)
但它只会产生这样的文本格式

1197/3956

我做错了什么

我期待着结果

更新

让它工作了

<td>@Math.Round(Decimal.Divide(item.Sum(m => m.stat.hits), item.Sum(m => m.stat.AB)), 3)</td>
@Math.Round(Decimal.Divide(item.Sum(m=>m.stat.hits),item.Sum(m=>m.stat.AB)),3)
返回0.303


如何删除小数点前的零?

在面对这个问题之前,先说我在移动设备上,所以请原谅任何打字错误

您需要用大括号括住操作,如下所示:

@{item.Sum(m=>m.stat.hits)/item.Sum(m=>m.stat.AB)}
但是,
Sum()
操作返回一个整数,因此您可能需要将其转换为
double
才能正确显示

也就是说,虽然这个解决方案应该给你正确的答案,但我强烈建议只将操作作为对象的属性添加并访问它,而不是动态地计算它

编辑:
删除前导零的两种方法。转换为字符串并调用
str.TrimStart('0')

预先面对这个问题,说我在移动设备上,请原谅任何打字错误

您需要用大括号括住操作,如下所示:

@{item.Sum(m=>m.stat.hits)/item.Sum(m=>m.stat.AB)}
但是,
Sum()
操作返回一个整数,因此您可能需要将其转换为
double
才能正确显示

也就是说,虽然这个解决方案应该给你正确的答案,但我强烈建议只将操作作为对象的属性添加并访问它,而不是动态地计算它

编辑:
删除前导零的两种方法。转换为字符串并在花括号内调用str.TrimStart('0')

,您可以在razor视图中进行编程。下面是您需要为解决方案执行的示例代码

   <td>
        @{ 
             double sumHits = item.Sum(m => m.stat.hits);
             double sumAb = item.Sum(m => m.stat.AB);
             double result = sumHits / sumAb;

             if (sumAb > 0)
                {
                    double result = sumHits / sumAb;
                    <Span>@result</Span>
                }
          }
    </td>

@{ 
double sumHits=item.Sum(m=>m.stat.hits);
double sumAb=item.Sum(m=>m.stat.AB);
双重结果=sumHits/sumAb;
如果(sumAb>0)
{
双重结果=sumHits/sumAb;
@结果
}
}

在花括号内,您可以在razor视图中进行编程。下面是您需要为解决方案执行的示例代码

   <td>
        @{ 
             double sumHits = item.Sum(m => m.stat.hits);
             double sumAb = item.Sum(m => m.stat.AB);
             double result = sumHits / sumAb;

             if (sumAb > 0)
                {
                    double result = sumHits / sumAb;
                    <Span>@result</Span>
                }
          }
    </td>

@{ 
double sumHits=item.Sum(m=>m.stat.hits);
double sumAb=item.Sum(m=>m.stat.AB);
双重结果=sumHits/sumAb;
如果(sumAb>0)
{
双重结果=sumHits/sumAb;
@结果
}
}
这是一个简单的方法:

  static void Main() {

  String str ="0.2354".TrimStart(new Char[] { '0','.' } );
  Console.WriteLine(str);
 }
对于数字
0.0000002354
它工作正常。

这是一种简单的方法:

  static void Main() {

  String str ="0.2354".TrimStart(new Char[] { '0','.' } );
  Console.WriteLine(str);
 }
对于数字
0.0000002354
,它工作正常