• C#操作十六进制数据以及十进制与十六进制互相转换


    客户给了一个十六进制的条码范围,只有起始和结束,中间的条码都不知道,现在需要将这些十六进制的条码全部打印成条码,然后贴在成品上面,如果是普通的阿拉伯数字那么直接循环+1,使用 流水号就行了,但是对十六进制的条码相对来说麻烦了一点点,实现方式如下:

    1.首先将客户给的那个十六进制的起始和结束条码转换为十进制,转换成十进制之后就可以计算了。
    方法:

    /// <summary>
            /// 从十进制转换到十六进制
            /// </summary>
            /// <param name="ten"></param>
            /// <returns></returns>
            public static string ConvertNumToHex(string ten)
            {
                ulong Numb = Convert.ToUInt64(ten);
                ulong divValue, resValue;
                string hex = "";
                do
                { 
                    divValue = (ulong)Math.Floor((decimal)(Numb / 16));
    
                    resValue = tenValue % 16;
                    hex = GetNumb(resValue) + hex;
                    Numb = divValue;
                }
                while (Numb >= 16);
                if (Numb != 0)
                    hex = GetNumb(Numb) + hex;
                return hex;
            }
    
            public static string GetNumb(ulong Numb)
            {
                switch (Numb)
                {
                    case 0:
                    case 1:
                    case 2:
                    case 3:
                    case 4:
                    case 5:
                    case 6:
                    case 7:
                    case 8:
                    case 9:
                        return ten.ToString();
                    case 10:
                        return "A";
                    case 11:
                        return "B";
                    case 12:
                        return "C";
                    case 13:
                        return "D";
                    case 14:
                        return "E";
                    case 15:
                        return "F";
                    default:
                        return "";
                }
            }

    调用这个方法将结果取出来:

     private void btnGetNumb_Click(object sender, EventArgs e)
            {
                this.txtStartSN.Text = Hex2Ten(this.txtStartSNHex.Text.Trim().Substring(4, 8));
                this.txtEndSN.Text = Hex2Ten(this.txtEndSNHex.Text.Trim().Substring(4, 8));
    
            }

    2.根据得到的十进制条码范围生成条码

    listBox1.Items.Add(ConvertNumToHex((Convert.ToDouble(this.txtStartSN.Text) + i).ToString()).Substring(4, 4));


    条码取到之后就随便怎么做了。

  • 相关阅读:
    黄聪:PHP获取MAC地址(转)
    黄聪:HTC同步出现太多联系人删除项解决方法
    黄聪:WordPress Cron 定时任务(转)
    黄聪:wordpress后台发布文章,自定义栏目和字段
    黄聪:如何在wordpress任何一个页面调用“插入图片”按钮,实现上传图片功能
    黄聪:获取搜索引擎来源访客的搜索关键词
    黄聪:用php判断当前用户访问网站是否为手机登录
    黄聪:php计算获取页面执行时间
    黄聪:抓取网页链接的php类:snoop
    黄聪:解决wordpress定时发布文章失败”丢失计划任务”的插件
  • 原文地址:https://www.cnblogs.com/allen0118/p/2803331.html
  • Copyright © 2020-2023  润新知