我想在按下时用计算器中的任何其他值覆盖0 [英] I want to overwrite 0 with any other value in calculator on pressing on

查看:91
本文介绍了我想在按下时用计算器中的任何其他值覆盖0的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在制作一个计算器。它工作正常,但是当我按下它时给出0并且在按下任何数字后导致值但后跟零。

我想在任何按钮点击时覆盖零值在计算器上,

请帮帮我,紧急,此外我在这里粘贴代码,请进行必要的更正并发回代码。



计算器:



 使用系统; 
使用 System.Collections.Generic;
使用 System.Linq;
使用 System.Web;
使用 System.Web.UI;
使用 System.Web.UI.WebControls;
使用 System.Drawing;
命名空间 Calculator_full
{
public partial class 计算器:System.Web.UI.Page
{
// 浮动a;
// 浮动b;
// float c;
// bool plus = false;
// bool minus = false;
// bool multiply = false;
// bool divide = false ;
十进制数Num1;
十进制数Num2;
// string符号;

protected void Page_Load( object sender,EventArgs e)
{
if (!IsPostBack)
{

bnn_power.Text = ON;

btn_power.BackColor = Color.Green;


// btn_0.Enabled = true;
// btn_1.Enabled = true;
// btn_2.Enabled = true;
// btn_3.Enabled = true;
// btn_4。 Enabled = true;
// btn_5.Enabled = true;
// btn_6.Enabled = true;
// btn_7.Enabled = true;
// btn_8.Enabled = true;
// btn_9.Enabled = true;
// btn_clear.Enabled = true;
// btn_clearall.Enabled = true;
// btn_power.Enabled = true;
// btn_multiply.Enabled = true;
// btn_divide.Enabled = true;
// btn_equal.Enabled = true;
// btn_add.Enabled = true;
// btn_sub.Enabled = true;

btn_0.Enabled = ;
btn_1.Enabled = false ;
btn_2.Enabled = false ;
btn_3.Enabled = false ;
btn_4.Enabled = false ;
btn_5.Enabled = false ;
btn_6.Enabled = false ;
btn_7.Enabled = false ;
btn_8.Enabled = false ;
btn_9.Enabled = false ;
btn_clear.Enabled = false ;
btn_clearall.Enabled = false ;
btn_multiply.Enabled = false ;
btn_divide.Enabled = false ;
btn_equal.Enabled = false ;
btn_add.Enabled = false ;
btn_sub.Enabled = false ;

// txt_result.Text = txt_result.Text + btn_0.Text;
}
}



受保护 void btn_1_Click( object sender,EventArgs e)
{
// txt_result.Text = txt_result.Text + btn_1.Text;

txt_result.Text = txt_result.Text + 1 ;
// Num1 = Convert.ToInt32(txt_result.Text);

}

protected void btn_8_Click( object sender,EventArgs e)
{
txt_result.Text = txt_result.Text + btn_8.Text;
}

受保护 void btn_2_Click( object sender,EventArgs e)
{
// txt_result.Text = txt_result.Text + btn_2.Text;
txt_result.Text = txt_result.Text + 2 ;
}

protected void btn_3_Click( object sender,EventArgs e)
{
txt_result.Text = txt_result.Text + btn_3.Text;
}

protected void btn_4_Click( object sender,EventArgs e)
{
txt_result.Text = txt_result.Text + btn_4.Text;
}

protected void btn_5_Click( object sender,EventArgs e)
{
txt_result.Text = txt_result.Text + btn_5.Text;
}

protected void btn_6_Click( object sender,EventArgs e)
{
txt_result.Text = txt_result.Text + btn_6.Text;
}

受保护 void btn_7_Click( object sender,EventArgs e)
{
txt_result.Text = txt_result.Text + btn_7.Text;
}

受保护 void btn_9_Click( object sender,EventArgs e)
{
txt_result.Text = txt_result.Text + btn_9.Text;
}

受保护 void btn_0_Click( object sender,EventArgs e)
{
txt_result.Text = txt_result.Text + btn_0.Text;
}

受保护 void btn_add_Click( object sender,EventArgs e)
{
// txt_result.Text = txt_result.Text + btn_add.Text;
// a = Convert.ToInt32(txt_result.Text);
/// / txt_result.Text =;
// txt_result.Text + = btn_add.Text;
// plus = true;

Num1 = Convert.ToDecimal(txt_result 。文本);
会话[ first] = Num1;
会话[ Func] = ADD;
txt_result.Text = string .Empty;
}

protected void btn_equal_Click( object sender,EventArgs e)
{
// b = Convert.ToInt32(txt_result.Text);
// if(plus == true)
// {
// c = Convert.ToInt32(txt_result.Text);
// txt_result.Text = Convert.ToString(c);
// }
// 否则if(减去== true)
// {
// c = a - b;
// txt_result.Text = Convert.ToString(c);
// }
// 否则if(multiply == true)
// {
// c = a * b;
// txt_result。 Text = Convert.ToString(c);
// }
// else if(divide == true)
// {
// c = a / b;
// txt_result.Text = Convert.ToString(c);
// }
// else
// {
// txt_result.Text =;
// }

Num2 = Convert.ToDecimal(txt_result.Text);
if (会话[ Func]。ToString()== ADD
{
decimal res = 0 ;
// txt_result.Text = Convert.ToString(Convert.ToDecimal(Session [First])+ Num2);
res = Convert.ToDecimal(会话[ First ])+ Num2;
txt_result.Text = String .Format( {0:0。########},res);
}
else if (会话[ Func]。ToString()== SUB
{
decimal res = 0 < /跨度>;
res = Convert.ToDecimal(会话[ 首先]) - Num2;
txt_result.Text = String .Format( {0:0。########},res);
}
else if (会话[ Func]。ToString()== DIV
{
// txt_result.Text = Convert.ToString(Convert.ToDecimal(Session [First])/ Num2);
decimal res = 0 ;
res = Convert.ToDecimal(会话[ 首先])/ Num2;
txt_result.Text = String .Format( {0:0。########},res);
}
else if (会话[ Func]。ToString()== MUL
{
// txt_result.Text = Convert.ToString(Convert.ToDecimal(Session [First])* Num2);
decimal res = 0 ;
res = Convert.ToDecimal(会话[ 首先])* Num2;
txt_result.Text = String .Format( {0:0。########},res);

}

// 否则if(符号== *)
// {
// txt_result.Text = Num1 * Num2;
// }
// else if(符号==/)
// {
// txt_result.Text = Num1 / Num2;
// }


}



受保护 无效 btn_divide_Click( object sender,EventArgs e)
{
/// / txt_result.Text = txt_result.Text + btn_divide.Text;
// a = Convert.ToInt32(txt_result.Text);
// txt_result.Text =;
// divide = true;
Num1 = Convert.ToDecimal(txt_result.Text);
会话[ first] = Num1;
会话[ Func] = DIV;
txt_result.Text = string .Empty;
}

受保护 void btn_multiply_Click( object sender,EventArgs e)
{
/// /txt_result.Text = txt_result.Text + btn_multiply.Text;
// a = Convert.ToInt32(txt_result.Text);
// txt_result.Text =;
// multiply = true;
Num1 = Convert.ToDecimal(txt_result.Text);
会话[ first] = Num1;
会话[ Func] = MUL;
txt_result.Text = string .Empty;
}

受保护 void btn_sub_Click( object sender,EventArgs e)
{
/// /txt_result.Text = txt_result.Text + btn_sub.Text;
// a = Convert.ToInt32(txt_result.Text);
// txt_result.Text =;
// minus = true;

Num1 = Convert.ToDecimal(txt_result.Text);
会话[ first] = Num1;
会话[ Func] = SUB;
txt_result.Text = string .Empty;
}

受保护 void btn_clear_Click( object sender,EventArgs e)
{
clearall();
}

protected void btn_clearall_Click( object sender,EventArgs e)
{
clearall();
}

protected void btn_power_Click( object sender,EventArgs e)
{
// if(txt_result.Text = txt_result.Text,
// txt_result.Text = txt_result。 Text + btn_0.Text);
// else txt_result.Text =;
btn_power.Text = OFF;
btn_power.BackColor = Color.Red;



btn_0.Enabled = true ;
btn_1.Enabled = true ;
btn_2.Enabled = true ;
btn_3.Enabled = true ;
btn_4.Enabled = true ;
btn_5.Enabled = true ;
btn_6.Enabled = true ;
btn_7.Enabled = true ;
btn_8.Enabled = true ;
btn_9.Enabled = true ;
btn_clear.Enabled = true ;
btn_clearall.Enabled = true ;
// btn_power.Enabled = true;
btn_multiply.Enabled = ;
btn_divide.Enabled = true ;
btn_equal.Enabled = true ;
btn_add.Enabled = true ;
btn_sub.Enabled = true ;

// btn_0.Enabled = false;
// btn_1.Enabled = false;
// btn_2.Enabled = false;
// btn_3.Enabled = false;
// btn_4.Enabled = false;
// btn_5.Enabled = false;
// btn_6.Enabled = false;
// btn_7.Enabled = false;
// btn_8.Enabled = false;
// btn_9.Enabled = false;
// btn_clear.Enabled = false;
// btn_clearall.Enabled = false;

// btn_multiply.Enabled = false;
// btn_divide.Enabled = false;
// btn_equal.Enabled = false;
// btn_add.Enabled = false;
// btn_sub.Enabled = false;

// 吨xt_result.Text =;
// a = 0;
// b = 0;
// c = 0;
// plus = false;
// minus = false;
// multiply = false;
// divide = false;


txt_result.Text = txt_result.Text + btn_0.Text ;


Session.Abandon();

}

public void clearall()
{
txt_result.Text = ;
}

protected void txt_result_TextChanged( object sender,EventArgs e)
{

}

protected void btn_decimal_Click( object sender,EventArgs e)
{
txt_result。 Text = txt_result.Text + btn_decimal.Text;
}
// public override string txt_result.text;
// {
// get {return txt_result.Text.Replace(,,); }
// set {txt_result.Text = value; }
// }
}

解决方案

更改以下代码

  protected   void  btn_decimal_Click( object  sender,EventArgs e)
{
txt_result.Text = txt_result.Text + btn_decimal.Text;
}





to



 受保护  void  btn_decimal_Click( object  sender,EventArgs e)
{
if (txt_result.Text == 0
{
txt_result.Text = btn_decimal.Text;
}
else
{
txt_result.Text = txt_result.Text + btn_decimal.Text;
}
}


为什么不尝试检查结果文本的长度及其值。 />
尝试按下按钮时的以下修改可能会解决您的问题



  protected   void  btn_1_Click( object  sender,EventArgs e)
{
// txt_result.Text = txt_result.Text + btn_1.Text;
< span class =code-keyword> if (txt_result.Text.length == 1 && txt_result.Text == 0
{
txt_result.Text = 1;
}
else
{
txt_result.Text = txt_result.Text + 1 ;
// Num1 = Convert.ToInt32(txt_result.Text);
}
}


嗯......在这种情况下,您可以为所有数字文本框创建一个事件,或者您可以替换所有按钮事件代码如下所示



 受保护  void  numberbutton_Click( object  sender,EventArgs e)
{
if (txt_result.Text == 0
{
txt_result.Text = sender.Text;
}
else
{
txt_result.Text = txt_result.Text + sender.Text;
}
}





如果需要,请指定发件人按钮。


I am making a calculator. It is working fine but when i press on it gives 0 and after it pressing of any digit leads to the value but followed by zero.
I want to overwrite the value on zero on any of the button click on calculator,
Please help me out, its urgent, in addition i am pasting the code here, please do the necessary corrections and send back the code.

Calculator:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
namespace Calculator_full
{
    public partial class calculator : System.Web.UI.Page
    {
        //float a;
        //float b;
        //float c;
        //bool plus = false;
        //bool minus = false;
        //bool multiply = false;
        //bool divide = false;
        Decimal Num1;
        Decimal Num2;
       // string Symbol;

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                
                btn_power.Text = "ON";

                btn_power.BackColor = Color.Green;


                //btn_0.Enabled = true;
                //btn_1.Enabled = true;
                //btn_2.Enabled = true;
                //btn_3.Enabled = true;
                //btn_4.Enabled = true;
                //btn_5.Enabled = true;
                //btn_6.Enabled = true;
                //btn_7.Enabled = true;
                //btn_8.Enabled = true;
                //btn_9.Enabled = true;
                //btn_clear.Enabled = true;
                //btn_clearall.Enabled = true;
                //btn_power.Enabled = true;
                //btn_multiply.Enabled = true;
                //btn_divide.Enabled = true;
                //btn_equal.Enabled = true;
                //btn_add.Enabled = true;
                //btn_sub.Enabled = true;

                btn_0.Enabled = false;
                btn_1.Enabled = false;
                btn_2.Enabled = false;
                btn_3.Enabled = false;
                btn_4.Enabled = false;
                btn_5.Enabled = false;
                btn_6.Enabled = false;
                btn_7.Enabled = false;
                btn_8.Enabled = false;
                btn_9.Enabled = false;
                btn_clear.Enabled = false;
                btn_clearall.Enabled = false;
                btn_multiply.Enabled = false;
                btn_divide.Enabled = false;
                btn_equal.Enabled = false;
                btn_add.Enabled = false;
                btn_sub.Enabled = false;

               // txt_result.Text = txt_result.Text + btn_0.Text;
            }
        }



        protected void btn_1_Click(object sender, EventArgs e)
        {
            //txt_result.Text = txt_result.Text + btn_1.Text;

            txt_result.Text = txt_result.Text + 1;
            //Num1 = Convert.ToInt32(txt_result.Text);

        }

        protected void btn_8_Click(object sender, EventArgs e)
        {
            txt_result.Text = txt_result.Text + btn_8.Text;
        }

        protected void btn_2_Click(object sender, EventArgs e)
        {
            //txt_result.Text = txt_result.Text + btn_2.Text;
            txt_result.Text = txt_result.Text + 2;
        }

        protected void btn_3_Click(object sender, EventArgs e)
        {
            txt_result.Text = txt_result.Text + btn_3.Text;
        }

        protected void btn_4_Click(object sender, EventArgs e)
        {
            txt_result.Text = txt_result.Text + btn_4.Text;
        }

        protected void btn_5_Click(object sender, EventArgs e)
        {
            txt_result.Text = txt_result.Text + btn_5.Text;
        }

        protected void btn_6_Click(object sender, EventArgs e)
        {
            txt_result.Text = txt_result.Text + btn_6.Text;
        }

        protected void btn_7_Click(object sender, EventArgs e)
        {
            txt_result.Text = txt_result.Text + btn_7.Text;
        }

        protected void btn_9_Click(object sender, EventArgs e)
        {
            txt_result.Text = txt_result.Text + btn_9.Text;
        }

        protected void btn_0_Click(object sender, EventArgs e)
        {
            txt_result.Text = txt_result.Text + btn_0.Text;
        }

        protected void btn_add_Click(object sender, EventArgs e)
        {
            //txt_result.Text = txt_result.Text + btn_add.Text; 
            //a = Convert.ToInt32(txt_result.Text);
            //// txt_result.Text = "";
            //txt_result.Text += btn_add.Text;
            //plus = true;

            Num1 = Convert.ToDecimal(txt_result.Text);
            Session["first"] = Num1;
            Session["Func"] = "ADD";
            txt_result.Text = string.Empty;
        }

        protected void btn_equal_Click(object sender, EventArgs e)
        {
            //b = Convert.ToInt32(txt_result.Text);
            //if (plus == true)
            //{
            //    c = Convert.ToInt32(txt_result.Text);
            //    txt_result.Text = Convert.ToString(c);
            //}
            //else if (minus == true)
            //{
            //    c = a - b;
            //    txt_result.Text = Convert.ToString(c);
            //}
            //else if (multiply == true)
            //{
            //    c = a * b;
            //    txt_result.Text = Convert.ToString(c);
            //}
            //else if (divide == true)
            //{
            //    c = a / b;
            //    txt_result.Text = Convert.ToString(c);
            //}
            //else
            //{
            //    txt_result.Text = "";
            //}

            Num2 = Convert.ToDecimal(txt_result.Text);
            if (Session["Func"].ToString() == "ADD")
            {
                decimal res = 0;
                //txt_result.Text = Convert.ToString(Convert.ToDecimal(Session["First"]) + Num2);
                res = Convert.ToDecimal(Session["First"]) + Num2;
                txt_result.Text = String.Format("{0:0.########}", res);
            }
            else if (Session["Func"].ToString() == "SUB")
            {
                decimal res = 0;
                res = Convert.ToDecimal(Session["First"]) - Num2;
                txt_result.Text = String.Format("{0:0.########}", res);
            }
            else if (Session["Func"].ToString() == "DIV")
            {
                //txt_result.Text = Convert.ToString(Convert.ToDecimal(Session["First"]) / Num2);
                decimal res = 0;
                res = Convert.ToDecimal(Session["First"]) / Num2;
                txt_result.Text = String.Format("{0:0.########}", res);
            }
            else if (Session["Func"].ToString() == "MUL")
            {
                //txt_result.Text = Convert.ToString(Convert.ToDecimal(Session["First"]) * Num2);
                decimal res = 0;
                res = Convert.ToDecimal(Session["First"]) * Num2;
                txt_result.Text = String.Format("{0:0.########}", res);

            }

            //else if (Symbol == "*")
            //{
            //    txt_result.Text = Num1 * Num2;
            //}
            //else if (Symbol == "/")   
            //{
            //    txt_result.Text = Num1 / Num2;
            //}


        }

    

        protected void btn_divide_Click(object sender, EventArgs e)
        {
            ////txt_result.Text = txt_result.Text + btn_divide.Text; 
            //a = Convert.ToInt32(txt_result.Text);
            //txt_result.Text = "";
            //divide = true;
            Num1 = Convert.ToDecimal(txt_result.Text);
            Session["first"] = Num1;
            Session["Func"] = "DIV";
            txt_result.Text = string.Empty;
        }

        protected void btn_multiply_Click(object sender, EventArgs e)
        {
            ////txt_result.Text = txt_result.Text + btn_multiply.Text; 
            //a = Convert.ToInt32(txt_result.Text);
            //txt_result.Text = "";
            //multiply = true;
            Num1 = Convert.ToDecimal(txt_result.Text);
            Session["first"] = Num1;
            Session["Func"] = "MUL";
            txt_result.Text = string.Empty;
        }

        protected void btn_sub_Click(object sender, EventArgs e)
        {
            ////txt_result.Text = txt_result.Text + btn_sub.Text; 
            //a = Convert.ToInt32(txt_result.Text);
            //txt_result.Text = "";
            //minus = true;

            Num1 = Convert.ToDecimal(txt_result.Text);
            Session["first"] = Num1;
            Session["Func"] = "SUB";
            txt_result.Text = string.Empty;
        }

        protected void btn_clear_Click(object sender, EventArgs e)
        {
            clearall();
        }

        protected void btn_clearall_Click(object sender, EventArgs e)
        {
            clearall();
        }

        protected void btn_power_Click(object sender, EventArgs e)
        {
            //if (txt_result.Text = txt_result.Text,
            //    txt_result.Text = txt_result.Text + btn_0.Text);
            //else txt_result.Text = "";
            btn_power.Text = "OFF";
            btn_power.BackColor = Color.Red;



            btn_0.Enabled = true;
            btn_1.Enabled = true;
            btn_2.Enabled = true;
            btn_3.Enabled = true;
            btn_4.Enabled = true;
            btn_5.Enabled = true;
            btn_6.Enabled = true;
            btn_7.Enabled = true;
            btn_8.Enabled = true;
            btn_9.Enabled = true;
            btn_clear.Enabled = true;
            btn_clearall.Enabled = true;
            //btn_power.Enabled = true;
            btn_multiply.Enabled = true;
            btn_divide.Enabled = true;
            btn_equal.Enabled = true;
            btn_add.Enabled = true;
            btn_sub.Enabled = true;

            //btn_0.Enabled = false;
            //btn_1.Enabled = false;
            //btn_2.Enabled = false;
            //btn_3.Enabled = false;
            //btn_4.Enabled = false;
            //btn_5.Enabled = false;
            //btn_6.Enabled = false;
            //btn_7.Enabled = false;
            //btn_8.Enabled = false;
            //btn_9.Enabled = false;
            //btn_clear.Enabled = false;
            //btn_clearall.Enabled = false;

            //btn_multiply.Enabled = false;
            //btn_divide.Enabled = false;
            //btn_equal.Enabled = false;
            //btn_add.Enabled = false;
            //btn_sub.Enabled = false;

            //txt_result.Text = "";
            //a = 0;
            //b = 0;
            //c = 0;
            //plus = false;
            //minus = false;
            //multiply = false;
            //divide = false;


           txt_result.Text = txt_result.Text + btn_0.Text ;
         

            Session.Abandon();

        }

        public void clearall()
        {
            txt_result.Text = "";
        }

        protected void txt_result_TextChanged(object sender, EventArgs e)
        {
            
        }

        protected void btn_decimal_Click(object sender, EventArgs e)
        {
            txt_result.Text = txt_result.Text + btn_decimal.Text;
        }
        //public override string txt_result.text;
        //{
        //    get { return txt_result.Text.Replace(",", ""); }
        //    set { txt_result.Text = value; }
        //}
    }

解决方案

Change the following code

protected void btn_decimal_Click(object sender, EventArgs e)
{
txt_result.Text = txt_result.Text + btn_decimal.Text;
}



to

protected void btn_decimal_Click(object sender, EventArgs e)
{
if(txt_result.Text=="0")
{
   txt_result.Text = btn_decimal.Text;
}
else
{
   txt_result.Text = txt_result.Text + btn_decimal.Text;
}
}


Why don''t you try checking the length of the result text as well as its value.
Try the following modification on button click it might solve your problem

protected void btn_1_Click(object sender, EventArgs e)
        {
            //txt_result.Text = txt_result.Text + btn_1.Text;
            if(txt_result.Text.length == 1 && txt_result.Text == "0")
            {
               txt_result.Text = "1";
            }
            else
            {
               txt_result.Text = txt_result.Text + 1;
               //Num1 = Convert.ToInt32(txt_result.Text);
            }
        }


Well..in this case you can just have one event for all your number text boxes or you can replace all the button event code as below whereever applicable

protected void numberbutton_Click(object sender, EventArgs e)
 {
  if(txt_result.Text=="0")
   {
    txt_result.Text = sender.Text;
   }
 else
 {
   txt_result.Text = txt_result.Text + sender.Text;
 }
}



Typecase the sender to button if required.


这篇关于我想在按下时用计算器中的任何其他值覆盖0的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆