【问题标题】:calculator delete same text from textbox asp .net计算器从文本框 asp .net 中删除相同的文本
【发布时间】:2015-10-28 12:19:35
【问题描述】:

我正在 asp.net 空网站中制作一个计算器,并在其中添加一个网络表单..

我的问题是我被困在一个地方,如果用户输入+-*/ 2 次作为50+- 那么这个额外的- 应该从文本框中删除或者如果用户输入50** 然后* 应该从文本框中删除。

所以我写了这段代码..但它不工作..什么都没有发生

String s = ResultBox.Text.ToString();
        if (s[s.Length - 2].ToString().Equals(s[s.Length - 1].ToString()))
            ResultBox.Text.Remove(s.Length - 1);
        else
            ResultBox.Text.Remove(ResultBox.Text.Length - 2, 1);

对不起这个页面的标题..我不知道该写什么标题..

【问题讨论】:

    标签: c# asp.net webforms


    【解决方案1】:

    String.Remove 不会更改原始字符串 - 它会返回一个新字符串。

    String s = ResultBox.Text.ToString();
    if (s[s.Length - 2].ToString().Equals(s[s.Length - 1].ToString()))
      ResultBox.Text = s.Remove(s.Length - 1);
    else
      ResultBox.Text = s.Remove(ResultBox.Text.Length - 2, 1);
    

    【讨论】:

      【解决方案2】:

      试试这样的:

      var input = ResultBox.Text;
      var operators = new[] { '+', '-', '*', '/' };
      if (operators.Any (o => o == input[input.Length - 1]) 
          && operators.Any (o => o == input[input.Length - 2]))
      {
          input = input.Substring(0, input.Length - 1);
      }
      
      ResultBox.Text = input;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-25
        • 1970-01-01
        • 1970-01-01
        • 2013-06-25
        • 2013-02-15
        • 1970-01-01
        相关资源
        最近更新 更多