料金などのカンマを表示したい

[戻る]
ヒロ 2002/02/15(金) 15:48:08
こんにちは!
料金計算をしてそれをメッセージボックスで表示しているのですが、
3桁ごとにカンマを表示する方法がわかりません。
VBのFormat(lngRyokin, "#,##0")のような処理があるのでしょうか?
ご存知の方がいらしたら、教えてください。

toru [E-Mail] 2002/02/15(金) 17:41:43
たぶん無いですね。適当に作ってみました。

void reverse(char* src,char* dst)
{
    int len = strlen(src);
    int cnt = 0;

    src += len - 1;

    while (cnt < len)
    {
        *dst = *src;
        dst ++;
        src --;

        cnt ++;
    }

    dst[cnt] = '\0';
}

void convert(char* src,char* dst)
{
    int len = strlen(src);
    int cnt = 0;
    int com = 0;

    while (cnt < len)
    {
        if (com == 3)
        {
            *dst = ',';
            dst ++;

            com = 0;
        }

        *dst = *src;
        dst ++;
        src ++;

        cnt ++;
        com ++;
    }
}

char src[16] = "123456789";
char dst[16] = "";

reverse(src,dst);
convert(dst,src);
reverse(src,dst);

↑この順番で使うとsrcの数列がカンマ区切りになってdstに入る(と思う)。
上の例だとdstの値は"123,456,789"になる(と思う)。

勘で作ったんであんまり自信無いけど。

wood 2002/02/15(金) 18:32:02
この編集って どのくらいの整数部、小数部が必要ですか
カンマ、小数点、サイン、記号編集、通貨編集まで必要ですか
昔、C言語で作った巨大なものでよければ探してメールしますよ
かなり汚いソースですけど

古いスレッドには追加発言できません。