1

新しいレコードが追加されると自動的に1ずつ増加するIDフィールドがあります。数値IDをそのまま使用するのではなく、次の形式の0-9A-Z(小文字なし)で構成される6文字の文字列に変換したいと思います。

A00000

数値は0〜9、次にAZの順に増加する必要があります。

たとえば、数値をエンコードすると、次7のようになります。

A00007

番号をエンコードすると、次の13ように返されます。

A0000D

番号をエンコードすると、次の36ように返されます。

A00010

うまくいけば、これは理にかなっています。どんな助けでも大歓迎です。

4

2 に答える 2

4

提案:整数値に604661760を追加します。これは、の基数10の値でありA00000、基数36の数値(= 10 * 36 ^ 5)として解釈されます。

次に、結果をベース36でエンコードします。

データ範囲によっては、604661760を追加intする前にをに昇格させることをお勧めします。long

于 2012-12-05T00:00:12.453 に答える
1

ここにあるのは、10進数から36進数への変換です。基数10から基数Kに変換するためのアルゴリズムは次のとおりです。ニーズに合わせて変更します。

http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Data/toBaseK.html

于 2012-12-04T23:52:38.110 に答える