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控件中完成运算! --------------------编程问答--------------------
--------------------编程问答-------------------- 到我空间看看吧 http://hi.baidu.com/dwxgundam/blog/item/d44fe02070cf777535a80fae.html
//三个文本框,两个运算数,一个结果。两个按钮,一个运算,一个退出;很多判断没做,像除数为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;
}
}
}
}
给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#