各类型转换成定长

        /// <summary>
        /// 指定长度字符串 不足补空格
        /// </summary>
        /// <param name="src">字符串</param>
        /// <param name="len">长度</param>
        /// <returns></returns>
        public static String formatTxt(String src, int len)
        {
            return formatTxt(src, len, " ", true);
        }
        /// <summary>
        /// 指定长度字符串 不足后面补充字符串
        /// </summary>
        /// <param name="src">字符串</param>
        /// <param name="len">长度</param>
        /// <param name="addC">补充字符串</param>
        /// <returns></returns>
        public static String formatTxt(String src, int len, String addC)
        {
            return formatTxt(src, len, addC, true);
        }
        /// <summary>
        /// 获取定长随机数
        /// </summary>
        /// <param name="len"></param>
        /// <returns></returns>
        public static String getRandom(int len)
        {
            int max = (int)Math.Pow(10.0D, len + 1) - 1;
            Random random = new Random();
            return formatInt(random.Next(max), len);
        }
        /// <summary>
        /// 指定长度 int 不足前面补充0
        /// </summary>
        /// <param name="num"></param>
        /// <param name="len"></param>
        /// <returns></returns>
        public static String formatInt(int num, int len)
        {
            String str = num.ToString();
            return formatTxt(str, len, "0", false);
        }
        /// <summary>
        /// 获取定长的字符串
        /// </summary>
        /// <param name="str">字符串</param>
        /// <param name="len">长度</param>
        /// <returns></returns>
        public static String getSubString(String str, int len)
        {
            byte[] bytes = ByteUtil.getBytes(str);
            if (bytes.Length > len)
            {
                byte[] copy = new byte[len];
                Array.Copy(bytes, copy, len);
                return getString(copy);
            }
            return str;
        }
        /// <summary>
        /// 指定长度字符串 不足补充字符串
        /// </summary>
        /// <param name="src">字符串</param>
        /// <param name="len">长度</param>
        /// <param name="addC">补充字符串</param>
        /// <param name="isAppend">true 后面补充 </param>
        /// <returns></returns>
        public static String formatTxt(String src, int len, String addC, bool isAppend)
        {
            if (src == null)
                src = "";
            String str = src;
            int dif_len = len - ByteUtil.getLength(str);
            for (int i = 0; i < dif_len; ++i)
            {
                if (isAppend)
                    str = str + addC;
                else
                {
                    str = addC + str;
                }
            }
            if (Encoding.Default.GetBytes(str).Length > len)
                str = getSubString(str, len);
            return str;
        }
        /// <summary>
        /// byte[]转换成String
        /// </summary>
        /// <param name="bytes"></param>
        /// <returns></returns>
        public static String getString(byte[] bytes)
        {
            return System.Text.Encoding.Default.GetString(bytes);
        }

posted @ 2018-06-14 11:42  _NickWang  阅读(268)  评论(0编辑  收藏  举报