- PR -

文字列+数値の加算方法について

1
投稿者投稿内容
Nak
会議室デビュー日: 2005/03/11
投稿数: 18
投稿日時: 2005-05-30 17:43
いつもお世話になっております。 現在ASP.Net(VB)+SQLServerで開発をしております。
処理の中でキーの値を採番する為のテーブルを作成し、例の様に採番したいと考えております。
(例)
AAA001,AAA002,AAA003・・・AAA999,AAB001,AAB002・・・ZZZ999

上記のように文字列+数値列の加算を行いたいのですが、文字列の加算方法が分かりません。
どなたかアドバイス頂けないでしょうか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-05-30 17:54
こんにちは、じゃんぬ です。

引用:

上記のように文字列+数値列の加算を行いたいのですが、文字列の加算方法が分かりません。
どなたかアドバイス頂けないでしょうか?


文字コードを利用するとか...



_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2005-05-30 18:21
正規表現を使用して、文字と数字を分割して数字をインクリメントして再度、文字列と連結するとか。
タコツボ
常連さん
会議室デビュー日: 2004/01/20
投稿数: 22
お住まい・勤務地: 京都・大阪
投稿日時: 2005-05-30 20:52
タコツボと申します。

下3桁を10進数、上3桁をAを0〜Zを25とする26進数と考えてみるというのはいかがでしょう?

コード:
    static string func( int value )
    {
        Char[] code = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray();

        int     dec = value % 1000;
        int     hex = value / 1000;

        string ret = "";

        ret += code[ hex / ( 26*26 ) ];
        hex %= ( 26*26 );

        ret += code[ hex / 26 ];
        hex %= ( 26 );
        
        ret += code[ hex ];

        ret += dec.ToString("000");

        return ret;
    }

Nak
会議室デビュー日: 2005/03/11
投稿数: 18
投稿日時: 2005-06-01 16:58
タコツボ様、burton999様、じゃんぬねっと様ありがとうございます。
やはり文字コードを使用する方法しかないのですね・・・。
ありがとうございます。その方法にて試してみます。
1

スキルアップ/キャリアアップ(JOB@IT)