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)
    }

Asp . Net中的折扣计算

txttotal.text = (Convert.ToDouble(txtTotal.Text) - Convert.ToDouble(txtNetAmt.Text)).ToString()

你得到错误的原因是txttotal。Text是一个字符串类型,您的计算将返回一个数字类型。需要转换为字符串通过ToString方法

仔细观察最后一行,有txttotaltxttotal,还有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是正确的。这个计算只在行绑定事件

中进行