C# int 转 16进制的字符串 in to hex string


网上有人写的,其中有个错误,只需把大于号改成大于等于就好了,在此重新发一下。在framework 2.0里面bitconverter不够强大。所以不得不自己写个函数

以前是

while (ulong.Parse(value) > 16)

我将其改成了 

while (ulong.Parse(value) >= 16)

测试了很多数据,结果是一致的。

 

public class CryptString
    {
        ///  
        /// 转换数字成单个16进制字符,要求输入值小于16
        ///  
        /// value
        ///  
        public static string GetHexChar(string value)
        {
            string sReturn = string.Empty;
            switch (value)
            {
                case "10":
                    sReturn = "A";
                    break;
                case "11":
                    sReturn = "B";
                    break;
                case "12":
                    sReturn = "C";
                    break;
                case "13":
                    sReturn = "D";
                    break;
                case "14":
                    sReturn = "E";
                    break;
                case "15":
                    sReturn = "F";
                    break;
                default:
                    sReturn = value;
                    break;
            }
            return sReturn;
        }

        ///  
        /// 返回进制字符串
        ///  
        /// value
        ///  

        public static string ConvertHex(string value)
        {
            string sReturn = string.Empty;
            try
            {

                while (ulong.Parse(value) >= 16)
                {
                    ulong v = ulong.Parse(value);
                    sReturn = GetHexChar((v % 16).ToString()) + sReturn;
                    value = Math.Floor(Convert.ToDouble(v / 16)).ToString();
                }
                sReturn = GetHexChar(value) + sReturn;
            }
            catch
            {
                sReturn = "###Valid Value!###";
            }
            return sReturn;
        }
    } 


 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值