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
,它工作正常