生成36進制流水號_C#

機制間在線轉換

10進制轉36進制輸出到文本文件,然後可再倒入數據庫中使用。

class Program
{
    static void Main(string[] args)
    {
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.Append("Decimal\tSerialLength\tHexadecimal\r\n");
        long val = 1, maxnum = 46655;
        for (long i = 1; i <= maxnum; i++)//0011~ZZZ
        {
            stringBuilder.Append( $"{i}\t3\t{ConvertTo36(i).PadLeft(3,'0')}\r\n");
            Console.WriteLine(i);
        }
        System.IO.File.WriteAllText("./NumPools.text", stringBuilder.ToString());
    }
    /// <summary>
    /// 10進制轉36進制
    /// </summary>
    /// <param name="i">10進制值</param>
    /// <returns>36進制值</returns>
    public static string ConvertTo36(long i)
    {
        string s = "";
        long j = 0;
        while (i >= 36)
        {
            j = i % 36;
            if (j < 10)
                s += j.ToString();
            else
                s += Convert.ToChar(j + 87);
            i = i / 36;
        }
        if (i < 10)
            s += i.ToString();
        else
            s += Convert.ToChar(i + 87);
        Char[] c = s.ToCharArray();
        Array.Reverse(c);
        return Convert.ToString(new string(c)).ToUpper();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章