zoukankan      html  css  js  c++  java
  • 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));


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

查看全文
  • 相关阅读:
    自建 IPA 分发平台
    一个优雅的占位图解决方案。适用于 UITableView 和 UICollectionView。
    Vuejs2.0购物车和地址选配学习笔记
    UIWebView 加 MJRefresh 同时解决底部黑影问题
    UIWebView 不自动全屏播放视频
    左右分页按钮的集合视图控件。用于快速编写出集合视图上分页多按钮点击事件!
    课程总结
    IO流实训
    事件处理
    变色
  • 原文地址:https://www.cnblogs.com/allen0118/p/2803331.html
  • Copyright © 2011-2022 走看看