Szerző Téma: Integerbe írásjel  (Megtekintve 1666 alkalommal)

Integerbe írásjel
« Dátum: 2012. szeptember 04. - 16:21:46 »
0 Show voters
Ü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.

Integerbe írásjel
« Válasz #1 Dátum: 2012. szeptember 04. - 20:44:32 »
+1 Show voters
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, \"-\"));

Integerbe írásjel
« Válasz #2 Dátum: 2012. szeptember 04. - 21:22:12 »
0 Show voters
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);

Integerbe írásjel
« Válasz #3 Dátum: 2012. szeptember 04. - 21:24:03 »
0 Show voters
format(bankstring, sizeof(bankstring), \"Bank: %s\", formatnumber(Jatekosinfo[playerid][DepositedMoney]));

Integerbe írásjel
« Válasz #4 Dátum: 2012. szeptember 04. - 21:41:44 »
0 Show voters
Öm, hát nem igazán mûködik. második számjegyik kiírja, utána már nem

Integerbe írásjel
« Válasz #5 Dátum: 2012. szeptember 04. - 21:53:17 »
0 Show voters
Értem.
És ide is másolnád pontosan úgy, ahogy megpróbáltad?

Integerbe írásjel
« Válasz #6 Dátum: 2012. szeptember 04. - 22:00:44 »
0 Show voters
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;
}

Integerbe írásjel
« Válasz #7 Dátum: 2012. szeptember 04. - 22:32:10 »
0 Show voters
%s

Integerbe írásjel
« Válasz #8 Dátum: 2012. szeptember 04. - 22:41:30 »
0 Show voters
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!
« Utoljára szerkesztve: 2012. szeptember 05. - 07:07:57 írta Extasy449 »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal