溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用C#實現(xiàn)簡單的計算器小程序

發(fā)布時間:2022-02-07 10:52:01 來源:億速云 閱讀:146 作者:iii 欄目:開發(fā)技術

這篇文章主要介紹“怎么用C#實現(xiàn)簡單的計算器小程序”,在日常操作中,相信很多人在怎么用C#實現(xiàn)簡單的計算器小程序問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用C#實現(xiàn)簡單的計算器小程序”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

如下為制作之后的小程序截圖

怎么用C#實現(xiàn)簡單的計算器小程序

代碼段 其中計算用了dataTable的一個函數(shù)
dt.Compute(CurStr, string.Empty)

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Calculate
{
    public partial class CalculateFrom : Form
    {
        public CalculateFrom()
        {
            InitializeComponent();
        }
        private string FhStr = string.Empty;
        private string CurStr = string.Empty;//計算字符串
        //等于的 等于按鈕處理
        private void Click_DENG_Click(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();
            if (string.IsNullOrEmpty(CurStr))
            {
                return;
            }
            List<string> KeyList = new List<string> { "+", "-", "*", "/" };
            if (KeyList.Contains(CurStr.Substring(CurStr.Length - 1)))//判斷最后一位為四則運算符,則去掉
            {
                CurStr = CurStr.Substring(CurStr.Length - 1);
            }
            if (string.IsNullOrEmpty(CurStr))//若此時為空則賦值計算結果零值
            {
                this.Text_JM.Text = "0";
                return;
            }
            else
            {
                CurStr = Convert.ToString(dt.Compute(CurStr, string.Empty));//若滿足條件 則計算 使用 DataTable的計算形式
                this.Text_JM.Text = CurStr;//計算結果賦值給Text
            }
        }
        //數(shù)值加入 // 里面包含數(shù)據(jù)只計算
        private void ValueClick(string ClickV)
        {
            //進行判斷,判斷點擊的是否是非空數(shù)值或者小數(shù)位數(shù)
            if (!string.IsNullOrEmpty(ClickV))
            {
                if (ClickV == "." && string.IsNullOrEmpty(CurStr))//第一位為小數(shù)位數(shù)
                {
                    CurStr = "0.";//如果首先點擊了小數(shù)位數(shù) 自動在前面增加零值
                }
                else if (ClickV == ".")//如果已經(jīng)存在小數(shù)位數(shù),不可以再輸入
                {
                    if (!CurStr.Contains("."))
                    {
                        CurStr = CurStr + ".";
                    }
                }
                else CurStr = CurStr + ClickV;
                this.Text_JM.Text = CurStr;//把字符串復制給前臺顯示的text中
            }
        }
        //四則運算符號處理
        private void ValueCalculate(string Key)
        {
            if (string.IsNullOrEmpty(CurStr))
            {
                return;
            }
            if (CurStr.Substring(CurStr.Length - 1, 1) == ".")
            {
                CurStr = CurStr + "0";//若是最后一位為小數(shù) 自動后面補齊一個零值
            }
            List<string> KeyList=new List<string>{"+","-","*","/"};
            if (KeyList.Contains(CurStr.Substring(CurStr.Length - 1, 1)))//若最后一位已經(jīng)是四則運算符號,則不再操作
            {
                return;//最后一位目前已經(jīng)是符號
            }
            CurStr = CurStr + Key;
            this.Text_JM.Text = CurStr;
        }
        #region 數(shù)值
        private void Click_1_Click(object sender, EventArgs e)
        {
            ValueClick("1");
        }

        private void Click_2_Click(object sender, EventArgs e)
        {
            ValueClick("2");

        }

        private void Click_3_Click(object sender, EventArgs e)
        {
            ValueClick("3");
        }

        private void Click_4_Click(object sender, EventArgs e)
        {
            ValueClick("4");
        }

        private void Click_5_Click(object sender, EventArgs e)
        {
            ValueClick("5");
        }

        private void Click_6_Click(object sender, EventArgs e)
        {
            ValueClick("6");
        }

        private void Click_7_Click(object sender, EventArgs e)
        {
            ValueClick("7");
        }

        private void Click_8_Click(object sender, EventArgs e)
        {
            ValueClick("8");
        }

        private void Click_9_Click(object sender, EventArgs e)
        {
            ValueClick("9");
        }

        private void Click_0_Click(object sender, EventArgs e)
        {
            ValueClick("0");
        }
        //小數(shù)點
        private void Click_C_Click(object sender, EventArgs e)
        {
            ValueClick(".");
        }
        #endregion

        #region 加減乘除
        private void Click_A_Click(object sender, EventArgs e)
        {
            ValueCalculate("+");
        }

        private void Click_R_Click(object sender, EventArgs e)
        {
            ValueCalculate("-");

        }

        private void Click_X_Click(object sender, EventArgs e)
        {
            ValueCalculate("*");

        }

        private void Click_L_Click(object sender, EventArgs e)
        {
            ValueCalculate("/");

        }
        #endregion
    }
}

到此,關于“怎么用C#實現(xiàn)簡單的計算器小程序”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI