黑马程序员技术交流社区

标题: 好吧,我又不懂了,来求教啊 [打印本页]

作者: 奔跑的胖子    时间: 2013-10-27 18:11
标题: 好吧,我又不懂了,来求教啊
怎么判断一个很长的字符串里的元素是不是数字啊
作者: 张锟-i    时间: 2013-10-27 18:36
1.遍历字符串中每个元素
2.对每个元素进行判断就行了  会正则的话最好

作者: 奔跑的胖子    时间: 2013-10-27 18:42
张锟-i 发表于 2013-10-27 18:36
1.遍历字符串中每个元素
2.对每个元素进行判断就行了  会正则的话最好

要怎么判断呢,判断是int类型有什么方法啊
作者: 何俞平    时间: 2013-10-27 18:49
需求一、看有没有数字
char[] chs = str.ToCharArray();   //将字符串转换成字符数组。
            for (int i = 0; i < chs.Length; i++)   
            {
                try
                {
                    double number = double.Parse(chs[i].ToString());  //将字符转换成字符串,再将字符串转换成数组
                    Console.WriteLine("字符串中有数字");      //转换成功,字符串中有数字
                    break;
                }
                catch
                {               
                }
            }
            Console.ReadKey();


需求二。输出字符串中的数字
char[] chs = str.ToCharArray();   //将字符串转换成字符数组。
            for (int i = 0; i < chs.Length; i++)   
            {
                try
                {
                    double number = double.Parse(chs[i].ToString());  //将字符转换成字符串,再将字符串转换成数组
                    Console.WriteLine(number);      //转换成功,输出数字

                }
                catch
                {               
                }
            }
            Console.ReadKey();

作者: 猫咪不吃糖    时间: 2013-10-27 18:49
  1.         static void Main(string[] args)
  2.         {
  3.             string str = "sldlllhs13kh2k34lalsdf3";
  4.             foreach (char c in str)
  5.             {
  6.                 if(char.IsNumber(c))
  7.                     Console.WriteLine(c);
  8.             }
  9.             Console.ReadKey();
  10.         }
复制代码

作者: 张锟-i    时间: 2013-10-27 18:50
奔跑的胖子 发表于 2013-10-27 18:42
要怎么判断呢,判断是int类型有什么方法啊

/*从一段文本中提取所有的数字。*/  
  
        static void Main(string[] args)  
        {            
            Console.WriteLine("请输入一段文本信息:");  
            //接受文本信息  
            string szInput = Console.ReadLine();  
            //遍历文本信息  
            for (int i = 0; i < szInput.Length; i++)  
            {  
                //检索每一个字符  
                char ele = szInput.ElementAt(i);  
                //判断字符是否为数字  
                if (ele >= '0' && ele <= '9')  
                {  
                    //输出数字  
                    Console.Write(ele+"  ");  
                }  
            }  
            Console.ReadKey();  
作者: 张小康    时间: 2013-10-27 18:50
可以通过遍历字符串中的每一个字符来判断这个字符串中是不是有数字
  1. string str = "adf123";
  2.             for (int i = 0; i < str.Length; i++)
  3.             {
  4.                 try
  5.                 {
  6.                     int n = Convert.ToInt32(str[i].ToString());//str[i]是字符类型,需要转换成字符串类型
  7.                     Console.WriteLine("字符串{0}中有数字{1}", str, str[i]);
  8.                 }
  9.                 catch
  10.                 {

  11.                 }
  12.             }
  13.             Console.ReadKey();
复制代码

作者: 有你珍贵    时间: 2013-10-27 18:57
     把字符串转换成char数组,然后循环遍历每个元素,用try{里面放 convert.toint32语句}catch{},如果转换成功加输出语句,不成功说明没有数字你在catch中加个标志就行。这是我的思路。
作者: 奔跑的胖子    时间: 2013-10-27 19:19
张锟-i 发表于 2013-10-27 18:50
/*从一段文本中提取所有的数字。*/  
  
        static void Main(string[] args)  

这个不行啊,没有elementat方法啊
作者: 奔跑的胖子    时间: 2013-10-27 19:28
猫咪不吃糖 发表于 2013-10-27 18:49

谢谢啦,问题解决啦
作者: 追溯客    时间: 2013-10-27 20:04
问题解决请将分类设为"已解决".黑马有你更精彩
作者: 张锟-i    时间: 2013-10-27 20:15
奔跑的胖子 发表于 2013-10-27 19:19
这个不行啊,没有elementat方法啊

MSDN 帮助文档




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2