无法将'System.Web.UI.WebControls.TextBox'类型的对象强制转换为 输入'System.IConvertible'。
我在转换时遇到此错误。我有两个文本框,其中一个我有金额,另一个我有百分比值应该在第三个文本框中。
public partial class caltxt : System.Web.UI.Page
{
double amt1;
double exc;
public void Page_Load(object sender, EventArgs e)
{
}
public void txtamt_TextChanged(object sender, EventArgs e)
{
amt1 = Math.Round(Convert.ToDouble (txtamt));
//decimal PercentageRate = Convert.ToDecimal(this.txtamt.Text);
}
protected void txtexc_TextChanged(object sender, EventArgs e)
{
double exc = Math.Round (Convert.ToDouble(this.txtexc.Text));
// decimal temp = (Math.Round(Convert.ToDecimal(txtexc.Text) / Convert.ToDecimal(txtamt.Text)*100));
// txttotalexc.Text = temp.ToString();
}
protected void txttotalexc_TextChanged(object sender, EventArgs e)
{
double totat = Math.Round (Convert.ToDouble(exc) /100)* Convert.ToDouble(amt1); //+ Convert.ToInt32(this.txtexc.Text);
this.txttotalexc.Text = totat.ToString();
}
}
答案 0 :(得分:2)
您应该将Textbox.Text
属性转换为Double
而不是TextBox
本身
替换
amt1 = Math.Round(Convert.ToDouble (txtamt));
带
amt1 = Math.Round(Convert.ToDouble(txtamt.Text));
答案 1 :(得分:1)
这条线似乎有问题
amt1 = Math.Round(Convert.ToDouble(txtamt));
为了使其有效,你应该使用这一行
amt1 = Math.Round(Convert.ToDouble(txtamt.Text));
原因:txtamt没有值它只是一个对象,而txtamt.Text有一个值