floats zu integer aufrunden

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Tag


    Ich bräuchte mal die hilfe bei Foats. und zwar würde ich gerne ein Float in ein integer umwandeln, da ich mit Centbeträgen rechne, aber GivePlayermoney nur ganze zahlen abzieht.
    also als float habe ich folgendes:


    1,50.


    nun möchte ich diese meinem system angepasst vom geld des spielers abziehen, und multipliziere diese mit 100.


    dann habe ich folgendes: 150 ($1,50).


    da aber bei Floats 1000ende 0en dahinter stehen, habe ich folgendes: 150.0000000.


    nun würde ich fragen ob man so ein float iwie zu einem integer oder ähnliches machen kann, oder sie iwie aufrunden, damit es richtig vom geld abgezogen wird.



    wäre sehr dankmar wenn mir da einer helfen könnte.


    mfg
    Simon

  • Du könntest mit STRVAl arbeiten.


    http://wiki.sa-mp.com/wiki/Strval


    Da diese Funktion aber nur einen String anstatt einer Float akzeptiert musst du erst die Float in einen String verwandeln


    new Float:geld = 150.00; // Wäre in deinem Falle die Float
    new string[20]; // string wird erstellt
    format(string,sizeof(string),"%f",geld); //Float wird in String gepackt
    new ngeld = strval(string); // ngeld wird der int Wert von string zugewiesen
    printf("Geld: %f | String: %s | Ngeld: %d",geld,string,ngeld); /* Hab ich jetzt fix benutzt um zu schauen ob alles funktioniert.
    Hat bei mir "[15:05:16] Geld: 150.000000 | String: 150.000000 | Ngeld: 150" ausgegeben. Es funktioniert so also*/