我正在尝试在视图页面中计算营业税,但似乎无法正常使用。
下面的代码除了产生带有销售税的总计外,还在工作。营业税是单数的,不是每条记录上都有。我基本上只需要对小计应用Tax并显示Total。
我尝试过的事情:
totalOrder += (item.Quantity * item.SellingPrice);
total = (totalOrder * 8%);
它不喜欢8%
使用变量
var tax = .08;
var tax = 8%
((totalOrder * tax) / 100);
如果以上所有均给出错误,则全部-不能将*与小数等一起使用。
下面是该视图部分的代码。谢谢您的帮助
<tbody>
@foreach (var item in Model.InvoiceDetail)
{
<tr>
<td>@Html.DisplayFor(modelItem => item.Quantity)</td>
<td>@Html.DisplayFor(modelItem => item.Material)</td>
<td>@Html.DisplayFor(modelItem => item.Description)</td>
<td>$@Html.DisplayFor(modelItem => item.SellingPrice)</td>
<td>@string.Format("{0:C2}", (item.Quantity * item.SellingPrice))</td>
</tr>
totalOrder += (item.Quantity * item.SellingPrice);
total = (totalOrder * 8%);
}
</tbody>
</table>
<h5 style="margin-left: 80%;"><b>Sub Total :</b> @string.Format("{0:C2}", totalOrder)</h5>
<h5 style="margin-left: 80%;"><b>Tax :</b> 8%</h5>
<h5 style="margin-left: 80%;"><b>Total Due :</b> @string.Format("{0:C2}", total)</h5>
我也在使用这个:
decimal totalOrder = 0;
decimal total = 0;
[编辑]当前代码
decimal totalOrder = 100.1m;
decimal tax = .08m;
decimal total = totalOrder * (1.0m + tax);
<tbody>
@foreach (var item in Model.InvoiceDetail)
{
<tr>
<td>@Html.DisplayFor(modelItem => item.Quantity)</td>
<td>@Html.DisplayFor(modelItem => item.Material)</td>
<td>@Html.DisplayFor(modelItem => item.Description)</td>
<td>$@Html.DisplayFor(modelItem => item.SellingPrice)</td>
<td>@string.Format("{0:C2}", (item.Quantity * item.SellingPrice))</td>
</tr>
//totalOrder += (item.Quantity * item.SellingPrice);
}
</tbody>
</table>
@{totalOrder += (Model.TotalCount * Model.PricePer);}
<h5 style="margin-left: 80%;"><b>Sub Total :</b> @string.Format("{0:C2}", totalOrder)</h5>
<h5 style="margin-left: 80%;"><b>Tax :</b> 8%</h5>
<h5 style="margin-left: 80%;"><b>Total Due :</b> @string.Format("{0:C2}", total)</h5>
答案 0 :(得分:0)
如果我正确地解释了您的变量名,您似乎有两个问题(也许还有一个将来的问题)。
total
变量仅设置为税收值,而不是totalOrder
和税收var tax = 8%
无效的c#,您需要使用var tax = .08
之类的小数代码应类似于:
decimal totalOrder = 100.01m;
decimal tax = .08m;
decimal total = totalOrder * (1.0m + tax);
答案 1 :(得分:0)
感谢Nathan Werry,我设法解决了这个问题。我将在每个代码段之后解释我的工作。
以下是为营业税创建的代码:
decimal totalOrder = 0m;
decimal tax = .08m;
@{decimal totalTax = totalOrder * (tax);
decimal total = totalOrder + totalTax;}
TotalOrder仅反映了下面的数量* SellingPrice计算,因此不需要添加任何内容。
税收是0.08m税
TotalTax是TotalOrder *税金
最后,您必须将税款添加到TotalOrder。
下面是foreach语句的完成代码:
<tbody>
@foreach (var item in Model.InvoiceDetail)
{
<tr>
<td>@Html.DisplayFor(modelItem => item.Quantity)</td>
<td>@Html.DisplayFor(modelItem => item.Material)</td>
<td>@Html.DisplayFor(modelItem => item.Description)</td>
<td>$@Html.DisplayFor(modelItem => item.SellingPrice)</td>
<td>@string.Format("{0:C2}", (item.Quantity * item.SellingPrice))</td>
</tr>
totalOrder += (item.Quantity * item.SellingPrice);
}
</tbody>
</table>
@{decimal totalTax = totalOrder * (tax);
decimal total = totalOrder + totalTax;}
<h5 style="margin-left: 80%;"><b>Sub Total :</b> @string.Format("{0:C2}", totalOrder)</h5>
<h5 style="margin-left: 80%;"><b>Tax :</b> 8%</h5>
<h5 style="margin-left: 80%;"><b>Total Due :</b> @string.Format("{0:C2}", total)</h5>