笔试总结0317---string与int之间的转换

来源:互联网 发布:ubuntu 终端打不开 编辑:程序博客网 时间:2024/05/21 21:34

string与int之间的转换的转换,虽然表面上看上去比较简单,但由于长时间没写代码了,有点生疏了,这里有必要总结总结

1   计算正整数每位数字之和
        /// <summary>
        ///1.1 通过原整数的除和取模运算来获取每位上的数字,从而计算每位数字之和
        /// </summary>
        /// <param name="x"></param>
        /// <returns></returns>
        public static int CountSumPerNumByChu(int x)
        {
            int zz = 0;
            char[] strNum = (x.ToString()).ToCharArray();
            //每一位上的数字            
            for (int t = 1; t <= strNum.Length; t++)
            {
                int temp = x;
                int ss = 0;
                for (int m = 1; m < t; m++)
                {
                    temp /= 10;
                }
                ss = temp % 10;
                zz += ss;
            }
            return zz;
        }


        /// <summary>
        /// 1.2直接把整数转换成字符串,再将每个字符取出来转换成整型相加
        /// </summary>
        /// <param name="x"></param>
        /// <returns></returns>
        public static int CountSumPerNumByChar(int x)
        {
            int sum = 0;
            char[] strNum = (x.ToString()).ToCharArray();
            //把每一位数字取出来相加
            for (int i = 0; i < strNum.Length; i++)
            {
                sum += int.Parse(strNum[i].ToString());
            }
            return sum;
        }

2  判断一个字符串是不是数字

        /// <summary>
        ///2.1 通过正则表达式来判断字符串是不是数字
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static bool IsNumericByRegex(string str)
        {
            if (str != null && Regex.IsMatch(str, @"^-?\d+$"))
            {
                return true;
            }
            else 
                return false;
        }


        /// <summary>
        ///2.2 把字符串转换成字符数组,通过判断每一个字符是不是数字,来判断字符串是不是数字
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static bool IsNumericByChar(string str)
        {


            try 
            {
                if (str == null || str == "")
                {
                    return false;
                }
                else
                {
                    char[] temp = str.ToCharArray();
                    for (int i = 0; i < str.Length; i++)
                    {
                        if (temp[i] < '0' || temp[i] > '9')
                        {
                            return false;
                        }
                    }
                    return true;
                }
            } 
            catch 
            { 
                return false; 
            } 
        }


        /// <summary>
        /// 2.3通过char.IsNumber方法来判断字符串是不是数字
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static bool IsNumericByCharIsnumber(string str)
        {
            try
            {
                if (str == null||str=="")
                {
                    return false;
                }
                else
                {
                    for (int i = 0; i < str.Length; i++)
                    {
                        if (!char.IsNumber(str, i))
                        {
                            return false;
                        }
                    }
                    return true;
                }
            }
            catch
            {
                return false;
            }
        }


        /// <summary>
        ///2.4 通过try,catch()来判断字符串是不是数字
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static bool IsNumericByTryCatch(string str)
        {
            try
            {
                int.Parse(str);
                return true;
            }
            catch
            {
                return false;
            } 
        }  

原创粉丝点击