【问题标题】:How to trim and convert a string to integer?如何修剪字符串并将其转换为整数?
【发布时间】:2012-06-24 06:30:46
【问题描述】:

如何修剪和转换字符串如下:

string abc = "15k34"
int x = first two characters of abc // should be 15
but if abc begins with "0"
for example - string abc = "05k34"
int x = first two characters of abc // should be 5

【问题讨论】:

  • 提示简化问题:int.Parse("15") -> 15int.Parse("05") -> 5int.Parse("15k34") -> kaboom! 那么,“如何获得前两个字母”(大概是数字)?那么,尝试了什么? (我投票关闭,因为过于本地化。尝试一些事情。然后找出它们为什么不起作用或如何做得更好。)
  • 字符串 abc 不同。例如下一次是“09b23”。但前两个字符总是数字
  • 看看我的第一条评论。 int.Parse("09") -> ??? 那么,如何获得“09”位?

标签: c# winforms string integer


【解决方案1】:

试试下面的代码:

            string str = "15k34";
            int val;
            if (str.Length>1)
            {
                if (int.TryParse(str.Substring(0, 2), out val))
                {
                    //val contains the integer value
                }

            }

【讨论】:

    【解决方案2】:
    string abc = "15k34";
    int x = 0;
    //abc = "05k34";
    int val;
    if (!string.IsNullOrEmpty(abc) && abc.Length > 1)
    {
        bool isNum = int.TryParse(str.Substring(0, 2), out val);
        if (isNum)
        {
            x = val;
        }
    }
    

    【讨论】:

      【解决方案3】:

      我认为从伪代码中通常会有数字中带有“k”的数字代表数千。

      所以...

      string abc = "15k34";
      string[] numbers = abc.Split('k');  //This will return a array { "15", "34" }
      int myInt = Convert.ToInt32(numbers[0]); 
      

      如果字符串是“05k34”,那么 myInt 的值为 5。

      文档:

      http://msdn.microsoft.com/en-us/library/1bwe3zdy
      http://msdn.microsoft.com/en-us/library/bb397679.aspx

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-12-28
        • 1970-01-01
        • 1970-01-01
        • 2015-09-22
        • 2023-03-05
        • 2015-08-01
        • 2016-07-02
        相关资源
        最近更新 更多