当前位置:编程学习 > C#/ASP.NET >>

textbox里的数做四则运算怎么弄啊

输入小数  怎么把textbox里的字符转换成可以做四则运算的类型啊 --------------------编程问答-------------------- 大侠们帮帮忙啊  我是初学者。。。 --------------------编程问答-------------------- Convert.ToInt32(textBox1.Text)
Convert.ToDouble(textBox1.Text)

用这一类的一系列静态方法

如果有风险的话 也可以使用Int32.TryParse(textBox1.Text,out value) --------------------编程问答-------------------- 不用转换 直接:

Console.WriteLine(new DataTable().Compute("2+3*4",null)); //14 --------------------编程问答-------------------- 简单点直接int.Parse(TextBox.Text)或者double.Prase就能够加减乘除了 --------------------编程问答-------------------- 谢谢大家  但是能给个完整的语句吗 比如2个textbox输入  计算结果在textbox3  我试了好多还是有错误 不知道为什么  总是说输入字符串的格式不对
这是什么毛病啊 --------------------编程问答-------------------- 请问一下什么是四则运算??? --------------------编程问答-------------------- 对了是输入是小数 不是整数  
6L你是在逗我么~~~ --------------------编程问答-------------------- LZ的问题不大,但可以引申下个问题:直接在TextBox控件中完成运算! --------------------编程问答--------------------

//三个文本框,两个运算数,一个结果。两个按钮,一个运算,一个退出;很多判断没做,像除数为0等。自己 完善吧
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace winFrmArithmetic
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnExit_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnOperator_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(textBox1.Text) && string.IsNullOrEmpty(textBox2.Text))
            {
                MessageBox.Show("请先输入运算数,再进行运算操作!", "提示", MessageBoxButtons.OK);
                return;
            }

            switch (cmbOperator.Text)
            {
                case "+":
                    textBox3.Text = (decimal.Parse(textBox1.Text) + decimal.Parse(textBox2.Text)).ToString();
                    break;
                case "-":
                    textBox3.Text = (decimal.Parse(textBox1.Text) - decimal.Parse(textBox2.Text)).ToString();
                    break;
                case "*":
                    textBox3.Text = (decimal.Parse(textBox1.Text) * decimal.Parse(textBox2.Text)).ToString();
                    break;
                case "/":
                    textBox3.Text = (decimal.Parse(textBox1.Text) / decimal.Parse(textBox2.Text)).ToString();
                    break;
                default:
                    Console.WriteLine("88888");
                    break;
            }
        }
    }
}
--------------------编程问答-------------------- 到我空间看看吧   http://hi.baidu.com/dwxgundam/blog/item/d44fe02070cf777535a80fae.html 

给LZ一个参考的资料 --------------------编程问答-------------------- 我有可以加减乘除还可以带括号 --------------------编程问答-------------------- 找到了找到了是控制台程序。。有点乱我是业余的。。09年的东西。。希望对你有帮助
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;

namespace ConsoleApplication2
{

    class Program 
    { 
        static void Main(string[] args) 
        { 
            Program p = new Program(); 
            string str = Console.ReadLine(); 
            p.kuohao(str); 
        } 
        public void kuohao(string str) 
        { 
            string left = ""; 
            string rightstr = ""; 
            string leftstr = ""; 
            string con = ""; 
            int leftnum = 0; 
            int rightnum = 0; 
            for (; ; ) 
            { 
                leftnum = str.IndexOf(")"); 
                if (leftnum == str.Length - 1) 
                { 
                    rightnum=str.IndexOf("("); 
                    leftstr = str.Substring(0,rightnum); 
                    con = str.Substring(rightnum); 
                    con = con.Substring(1, con.Length - 2); 
                    con=jisuan(chaifen(con)); 
                    str = leftstr + con; 
                    str=jisuan(chaifen(str)); 
                    break; 
                } 
                if (leftnum == -1) 
                { 
                    str = jisuan(chaifen(str)); 
                    break; 
                } 
                left = str.Substring(0, leftnum + 1); 
                rightstr = str.Substring(leftnum + 1); 
                rightnum = left.LastIndexOf("("); 
                leftstr = left.Substring(0, rightnum); 
                con = left.Substring(rightnum); 
                con = con.Substring(1, con.Length - 2); 
                con = jisuan(chaifen(con)); 
                str = leftstr + con + rightstr; 
            } 
            Console.WriteLine(str); 
        } 
        public List<string> chaifen(string con) 
        { 
            List<string> l = new List<string>(); 
            string shuzi = ""; 
            string str = ""; 
            char[] fuhao ={ '+', '-', '*', '/' }; 
            for (; ; ) 
            { 
                int weizhi = con.IndexOfAny(fuhao); 
                if (weizhi == -1) 
                { 
                    l.Add(con); 
                    break; 
                } 
                shuzi = con.Substring(0, weizhi); 
                l.Add(shuzi); 
                str = con.Substring(weizhi, 1); 
                l.Add(str); 
                con = con.Remove(0, weizhi + 1); 
            } 
            return l; 
        } 
        public string jisuan(List<string> l) 
        { 
            double shuzi = 0; 
            for (int i = 0; i < l.Count; ) 
            { 
                if (l[i] == "*") 
                {
                    shuzi = Convert.ToDouble(l[i - 1]) * Convert.ToDouble(l[i + 1]);
                    l[i] = shuzi.ToString();
                    l.RemoveAt(i + 1);
                    l.RemoveAt(i - 1);
                    continue; 
                }
                if (l[i] == "/") 
                {
                    shuzi = Convert.ToDouble(l[i - 1]) / Convert.ToDouble(l[i + 1]);
                    l[i] = shuzi.ToString();
                    l.RemoveAt(i + 1);
                    l.RemoveAt(i - 1);
                    continue; 
                } 
                i++; 
            } 
            for (int i = 0; i < l.Count; ) 
            {
                if (l[i] == "-") 
                {
                    shuzi = Convert.ToDouble(l[i - 1]) - Convert.ToDouble(l[i + 1]);
                    l[i] = shuzi.ToString();
                    l.RemoveAt(i + 1);
                    l.RemoveAt(i - 1);
                    continue; 
                }
                if (l[i] == "+") 
                {
                    shuzi = Convert.ToDouble(l[i-1]) + Convert.ToDouble(l[i+1]);
                    l[i] = shuzi.ToString(); 
                    l.RemoveAt(i+1); 
                    l.RemoveAt(i-1); 
                    continue; 
                } 
                i++; 
            } 
            return l[0].ToString(); 
        } 
    } 


    

补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,