取一个整数指定位的值

取值方法:

比如一个数A,取第n位上的数字(第n位存在)

值=(A / 10的(n-1)次方) % 10

如A=4321

第1位(即个位)=(4321 / 10^(1-1)) % 10 =4321 / 1 % 10=1

第2位(即十位)=(4321 / 10^(2-1)) % 10= 4321 / 10 % 10=432 % 10 =2

第3位(即百位)=(4321 / 10^(3-1)) % 10 = 4321 / 100 % 10 =3

第4位(即千位)=4321 / 1000 % 10=4

 

C# 代码如下:

        #region 取整数指定位的值
        /// <summary>
        /// 取整数指定位的值
        /// </summary>
        /// <param name="srcVal">原值</param>
        /// <param name="idx">第n位</param>
        /// <returns></returns>
        public static int GetLocationVal(int srcVal,int idx)
        {
            // 判断idx是否超出了原值位数
            if(!(Math.Pow(10,idx-1)<=srcVal))//Math.Pow(10,idx-1)=idx-1个数字组成的最小整数
            {
                return -11;
            }
            if (idx < 0)
            {
                return -11;
            }

            int val = (int)(srcVal / Math.Pow(10, idx - 1)) % 10;

            return val;
        }
        #endregion

 

posted @ 2021-01-04 11:31  温故纳新  阅读(540)  评论(0编辑  收藏  举报