Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将int转换为6个字符的字母数字字符串的算法_C#_Algorithm_Int - Fatal编程技术网

C# 将int转换为6个字符的字母数字字符串的算法

C# 将int转换为6个字符的字母数字字符串的算法,c#,algorithm,int,C#,Algorithm,Int,我有一个ID字段,在添加新记录时自动递增1。我不想按原样使用数字ID,而是想将其转换为6个字符的字符串,由0-9A-Z组成,不使用小写字母,格式如下: A00000 数字应从0-9开始递增,然后从A-Z开始递增 例子 例如,如果我对数字7进行编码,它应该返回: A00007 如果我对数字13进行编码,它应该返回: A0000D A00010 如果我对数字36进行编码,它应该返回: A0000D A00010 希望这是有道理的。任何帮助都将不胜感激。您在这里得到的是从以10为基数的数字

我有一个ID字段,在添加新记录时自动递增1。我不想按原样使用数字ID,而是想将其转换为6个字符的字符串,由0-9A-Z组成,不使用小写字母,格式如下:

A00000
数字应从0-9开始递增,然后从A-Z开始递增

例子

例如,如果我对数字7进行编码,它应该返回:

A00007
如果我对数字13进行编码,它应该返回:

A0000D
A00010
如果我对数字36进行编码,它应该返回:

A0000D
A00010

希望这是有道理的。任何帮助都将不胜感激。

您在这里得到的是从以10为基数的数字到以36为基数的数字的转换。以下是从基数10到基数K的转换算法。请根据您的需要进行修改:


这里是从10进制数到36进制数的转换。以下是从基数10到基数K的转换算法。请根据您的需要进行修改:


建议:将604661760添加到整数值。这是A00000的10进制值,解释为36进制数=10*36^5

然后在基数36中对结果进行编码


根据您的数据范围,您可能希望在添加604661760之前将int提升为long。

建议:将604661760添加到整数值。这是A00000的10进制值,解释为36进制数=10*36^5

然后在基数36中对结果进行编码


根据您的数据范围,在添加604661760之前,您可能希望将int值提升为a。

所以基本上这是一个36进制的数字?@phoog我很幸运地尝试了一些36进制编码,但我很好奇是否有更好的解决方案。是的,那应该是36。打字错误修正。我写了一些代码来做这类事情,基本上是为了回答@SystemDown。建议:将604661760添加到整数值=10*36^5,然后以36为基数进行编码。所以基本上这是一个36为基数的数字?@phoog我尝试了一些36为基数的编码,运气不错,但我很好奇是否有更好的解决方案。是的,那应该是36。拼写错误修复。我写了一些代码来做这类事情,基本上是为了回答@SystemDown。建议:将604661760添加到整数值=10*36^5,然后以36为基数进行编码。建议使用int和long。再次感谢。你的整型和长型建议很好。再次感谢。