我有一个ID字段,在添加新记录时会自动递增1。我不想按原样使用数字ID,而是将其转换为由0-9A-Z(无小写字母)组成的6个字符的字符串,格式如下:
A00000
数字应从0-9增加到A-Z。
实施例
例如,如果我要对数字7
进行编码,则应返回:
A00007
如果我对数字13
进行编码,则应返回:
A0000D
如果我对数字36
进行编码,则应返回:
A00010
希望这是有道理的。任何帮助将不胜感激。
答案 0 :(得分:4)
建议:将604661760添加到整数值。这是A00000
的基数为10的值,被解释为基数为36的数字(= 10 * 36 ^ 5)。
然后将结果编码在基数36中。
根据您的数据范围,您可能希望在添加604661760之前将int
提升为long
。
答案 1 :(得分:1)
您在这里拥有的是从基数10转换为基数36的数字。这是从基数10到基数K的转换算法。修改它以满足您的需求:
http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Data/toBaseK.html