winform里,我放一个textbox控件,在这个控件里输入数字,然后做运算。
比如输入123 ,做的运算时123乘以它本身,也就是123*123,再除以32
把得到的结果在放到一个lbael上。
现在的
第一个问题是,我希望他还能把123中的最后一位,也就是3单独提出来,加加两次,就是得到4,5这两个数,这个怎么来做?
第二个问题是 如果是其他数字计算所得的结果是如果是33.3567这样子的,那么取出356放到label上,也就是取前三位,如果遇到一样的数字跳过,比如4557,那么就是457放到label,如果是989.901那么就是980放到label上当然,放到label上的数字还有第一个问题中提到的数字,这两个问题怎么处理?

解决方案 »

  1.   

    我觉得LZ还是先把数字转换成字符串处理更简便些,需要数值计算的时候在转换成int
      

  2.   

    SubString方法 + Indexof方法 + Split方法这种逻辑的东西自己想吧,处理个字符串而已
      

  3.   

     Int16 aa = 0;
                if (this.textBox1.Text != "")
                {                aa = Convert.ToInt16(this.textBox1.Text);
                    this.label1.Text = Convert.ToString((aa * aa) / 32);
                    this.label2.Text = this.textBox1.Text.Substring(this.textBox1.Text.Length - 1, 1);
                    Int16 bb = 0;
                    bb = Convert.ToInt16(this.label2.Text);
                    this.label3.Text = Convert.ToString(bb + 1);
                    this.label4.Text = Convert.ToString(bb + 2);
                }
                else
                {
                    this.label1.Text = "";
                    this.label2.Text = "";
                    this.label3.Text = "";
                    this.label4.Text = "";
                }
      

  4.   

    第一个问题可以这样:
               
                int i = Int32.Parse(textBox1.Text.Substring(textBox1.Text.Length - 1));
                i++;
                i++;第二个问题描述不清楚:
      33.3567 的前3位是“33.”,你怎么说“取出356”?  到底啥意思?后面的规则让人看不懂!
      

  5.   

            static void Main(string[] args)
            {
                Console.WriteLine("please input a number:");
                string str = Console.ReadLine();
                Console.WriteLine("---------------------------------");
                double num = Convert.ToDouble(str);
                double product = Math.Pow(num, 2);
                Console.WriteLine("{0}*{0}={1}", num, product);
                Console.WriteLine("{0}/32={1}", product, product/32);
                int lastnum=Convert.ToInt32( str[str.Length-1].ToString());
                Console.WriteLine("{0}++ is {1}", lastnum, ++lastnum);
                Console.WriteLine("{0}++ is {1}", lastnum, ++lastnum);            string a="989.901";
                string b="";
                for(int i=0;i<a.Length;i++)
                {
                    if (Char.IsNumber(a, i) && !b.Contains(a[i]))
                    {
                        b += a[i];
                    }
                }
                Console.WriteLine();
                Console.WriteLine(a);
                Console.WriteLine(b);            Console.ReadKey();        }
      

  6.   

    你把textbox里的值取到后台,转换成doubl型的 假设变量名为num1
    num2=num1%10;
    这样个位数就取来了,你想怎么处理它都行
      

  7.   

    第二个问题你写的不清楚
       反正你把转换成字符串,然后就是用string自带的几个字符串处理函数按照你的要求找
      

  8.   

    转化为字符,再做处理,double强转,tostring(),