GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Extasy449 - 2012. szeptember 04. - 16:21:46

Cím: Integerbe írásjel
Írta: Extasy449 - 2012. szeptember 04. - 16:21:46
Üdv!
Ha van egy integer értékem, hogy oldhatom meg, hogy a számok közé írásjelet tegyek? Jelen esetbena vesszõt pl az ezres, milliós közé hogy ne kelljen nagyon számolgatni.
Cím: Integerbe írásjel
Írta: Zsolesszka - 2012. szeptember 04. - 20:44:32
Az integer számot át kell alakítani karakterláncba.
 
stock
    formatnumber(amount, sep[] = \",\")
{
    new
        str[16],
        negativ = 0;
    if(amount < 0) negativ = 1;
    format(str, sizeof(str), \"%i\", amount);
    new
        lenght = strlen(str);
    while((lenght -= 3) > negativ) strins(str, sep, lenght);
    return str;
}

 

printf(\"%s\", formatnumber(12312012332, \"-\"));
Cím: Integerbe írásjel
Írta: Extasy449 - 2012. szeptember 04. - 21:22:12
Köszönöm!
De, hogyha van 1 értékem, ami elmentõdik, és egy textdrawba raktam, hogy cseréljem ki?
        new bankstring[40];
        format(bankstring, sizeof(bankstring), \"Bank: %d\", Jatekosinfo[playerid][DepositedMoney]);
        TextDrawSetString(Textdraw18,bankstring);
Cím: Integerbe írásjel
Írta: Zsolesszka - 2012. szeptember 04. - 21:24:03
format(bankstring, sizeof(bankstring), \"Bank: %s\", formatnumber(Jatekosinfo[playerid][DepositedMoney]));
Cím: Integerbe írásjel
Írta: Extasy449 - 2012. szeptember 04. - 21:41:44
Öm, hát nem igazán mûködik. második számjegyik kiírja, utána már nem
Cím: Integerbe írásjel
Írta: Zsolesszka - 2012. szeptember 04. - 21:53:17
Értem.
És ide is másolnád pontosan úgy, ahogy megpróbáltad?
Cím: Integerbe írásjel
Írta: Extasy449 - 2012. szeptember 04. - 22:00:44
Persze.
 
forward bankupdate(playerid);
public bankupdate(playerid)
{
        new bankstring[40];
        format(bankstring, sizeof(bankstring), \"%d\", formatnumber(Jatekosinfo[playerid][DepositedMoney]));
        TextDrawSetString(Textdraw22,bankstring);
        return 1;
}

 

Textdraw22 = TextDrawCreate(543.000000, 140.000000, \"0\");

 

public OnPlayerConnect(playerid)
{
        SetTimerEx(\"bankupdate\",3500,true,\"i\",playerid);
return 1;
}

 
script legaljára:
 
stock formatnumber(amount, sep[] = \",\")
{
    new
        str[16],
        negativ = 0;
    if(amount < 0) negativ = 1;
    format(str, sizeof(str), \"%i\", amount);
    new
        lenght = strlen(str);
    while((lenght -= 3) > negativ) strins(str, sep, lenght);
    return str;
}
Cím: Integerbe írásjel
Írta: Zsolesszka - 2012. szeptember 04. - 22:32:10
%s
Cím: Integerbe írásjel
Írta: Extasy449 - 2012. szeptember 04. - 22:41:30
köszi holnap megnézem:D

Dupla hozzászólás automatikusan összefûzve. ( 2012. szeptember 05. - 07:07:57 )

Tökéletesen mûködik, nagyon köszönöm!