Asp . Net中的折扣计算
本文关键字:计算 Net Asp | 更新日期: 2023-09-27 18:17:37
在我的gridview中,我有销售价格,数量,折扣,净额。用户输入数量和折扣,结果应显示在netamount列中,我正在尝试使用此代码,它不工作,最后一行我正在减去它给出的错误值,请帮助我解决问题.....我在文本更改事件.....
中编写此代码foreach (GridViewRow row in GridView1.Rows)
{
TextBox txtSerAmt = (TextBox)row.FindControl("TxtServiceAmount");
TextBox txtQuantity = (TextBox)row.FindControl("txtQuantity");
TextBox txtdsAmount = (TextBox)row.FindControl("txtdsAmount");
TextBox TxtNetAmt = (TextBox)row.FindControl("TxtNetAmt");
if (txtSerAmt != null && txtQuantity != null && txtdsAmount != null)
{
TxtNetAmt.Text = (((
Convert.ToDouble(txtSerAmt.Text) * Convert.ToDouble(txtQuantity.Text))) * Convert.ToDouble(txtdsAmount.Text)/100).ToString();
}
txttotal.text = Convert.ToDouble(txtTotal.Text) - Convert.ToDouble(txtNetAmt.Text)
}
txttotal.text = (Convert.ToDouble(txtTotal.Text) - Convert.ToDouble(txtNetAmt.Text)).ToString()
你得到错误的原因是txttotal。Text是一个字符串类型,您的计算将返回一个数字类型。需要转换为字符串通过ToString方法
仔细观察最后一行,有txttotal和txttotal,还有txtNetAmt在前一行中提到的txtNetAmt 。
有一些拼写差异。
**txttotal**.text = Convert.ToDouble(**txtTotal**.Text) - Convert.ToDouble(**txtNetAmt**.Text)
在string到double转换中首先检查获取值是否为null。如果null意味着手动输入'0',否则,它应该在减去most后上升错误和另一件事,以转换为字符串,如"Masoomian"答案
TextBox TxtNetAmt = (TextBox)row.FindControl("TxtNetAmt");
txttotal.text = (Convert.ToDouble(txtTotal.Text) -
Convert.ToDouble(txtNetAmt.Text)).ToString();
,你应该检查所有的FindControl,控制id是正确的。这个计算只在行绑定事件