kostenloser Webspace werbefrei: lima-city


nur ganze zahlen ausrechnen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    michelbach

    Kostenloser Webspace von michelbach, auf Homepage erstellen warten

    michelbach hat kostenlosen Webspace.

    hi, ich steh mal wieder vor einem Problem, und zwar kann man ja nicht 537,546 Holz haben, sondern nur ganze Zahlen. Weis jemand, wie man nur auf ganze Zahlen kommt?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. m**********r

    Du musst die Zahl einfach mithilfe der Funktion round() runden. Dann sollten Ganzzahlen rauskommen.
    Edit: Da man bei round() die Anzahl der Nachkommastellen angeben muss, kannst du auch einfach die Funktionen ceil() oder floor() verwenden.
    Edit2: round() rundet automatisch auf/ab. ceil() rundet immer auf und floor() rundet immer ab.


    Grüße, Moritz


    Beitrag geändert: 16.5.2008 13:45:43 von moritzpeuser
  4. Autor dieses Themas

    michelbach

    Kostenloser Webspace von michelbach, auf Homepage erstellen warten

    michelbach hat kostenlosen Webspace.

    gut, aber wie soll ich des dann einbauen?
  5. Naja - ich weiß nicht ob das bei PHP auch so geht, aber ich gehe mal davon aus, das die Funktion round() dir einen Wert zurückgibt, der dann eben gerundet ist.

    Entsprechend schreibst du einfach:

    $Holzmenge_new = round($Holzmenge);

    Wenn du keine Nachkommastelle haben willst musst du da nichts weiter eingeben.
    Die Angabe der Anzahl der Nachkommatellen ist Optional. Standart ist 0!

    lg, Michael

    edit: Falls du es wissen must: Die Variable $Holzmenge muss vom Typ \"float\" sein, und die Variable $Holzmenge_new ebenfalls, da der Rückgabewert der Funktion vom Typen \"float\" ist

    Beitrag geändert: 16.5.2008 16:35:14 von frodo89
  6. Und PHP soetwas automatisch zuordnet.
    In C++ beispielsweise müsste man bei soetwas die Varibalen explizit als Float oder einen Multi-Bezeichner deklarieren. In PHP ist das allerdings kein Problem... der Interpreter macht es von ganz alleine.
  7. Hm
    Da hab ich keine Ahnung. Ich meine - diesen Expliziten Fall mit der Holzmenge betrifft das jetzt nicht, aber wenn jetzt der Code so aussieht:
    $Holzmenge_new = \'Holzmenge nach dem Runden\';
    $Holzmenge = 512.16;
    $Holzmenge_new = round($Holzmenge);


    Dann ist doch $Holzmenge_new zunächst vom Typen String, und wird später mit einer Floatzahl belegt - in dem Fall beißt sich das doch, oder ändert dann der Interpreter den Typen nochmal?

    lg, Michael
  8. Autor dieses Themas

    michelbach

    Kostenloser Webspace von michelbach, auf Homepage erstellen warten

    michelbach hat kostenlosen Webspace.

    also sehe ich des richtig, dass ich nicht einfach den wert aulesen und den dann runden kann, weil des nicht die richtige variable is? Also ich lese den wert aus einer textdatei aus, dieser soll dann gerundet werden, und wieder abgespeichert werden. das mit dem lesen und schreiben is ja einfach, aber des mit dem runden, da wird hier ja gestritten
  9. s********r


    also sehe ich des richtig, dass ich nicht einfach den wert aulesen und den dann runden kann, weil des nicht die richtige variable is? Also ich lese den wert aus einer textdatei aus, dieser soll dann gerundet werden, und wieder abgespeichert werden. das mit dem lesen und schreiben is ja einfach, aber des mit dem runden, da wird hier ja gestritten


    Wo liegt noch das Problem? Verwirrt dich das $holzmenge_new? Du kannst natürlich auch so machen:

    $holzmenge = round($holzmenge);

    Ob auf- oder abgerundet wird, ist ja im Prinzip sowieso egal... Wie ich ja schon oft gesehen habe, machst du ja ein Browsergame. Ich habe bei meinem Browsergame zuerst auch alle Benutzerdaten aus einer Textdatei ausgelesen. Allerdings habe ich das schnell aufgegeben ;) Erstens sind die Daten nicht geschützt und zweitens ist alles viel unflexibler: wenn du beispielsweise ein neuer Rohstoff einführen möchtest, musst du alle Userfiles umschreiben. Mein Tipp: schau dir die MySQL-Einleitung auf schattenbaum.net an und machs damit - Phpmyadmin ist auf den ersten Blick vielleicht etwas verwirrend, aber du wirst dich damit schon anfreunden.

    MfG

    sebigisler
  10. Du willst ein Browsergame programmieren?
    Dann verwende doch lieber eine Datenbank - da kannst du die Zahlen gleich im richtigen Datentypen Speichern.
    Ansonsten musst du glaubich den String (das was du aus dem Text ausließt) erst in eine Zahl umwandeln, da es davor nicht als Zahl sondern als Zeichenfolge angesehen wird.

    Ich such dir grad die Entsprechende Funktion raus!

    lg, Michael


    //edit: Find sie nicht - weiß sie grad jemand der hier vorbeischaut?


    Beitrag geändert: 16.5.2008 17:50:47 von frodo89
  11. e********l

    Du könntest auch einfach mit number_format die Nachkommastellen abschneiden...
  12. Autor dieses Themas

    michelbach

    Kostenloser Webspace von michelbach, auf Homepage erstellen warten

    michelbach hat kostenlosen Webspace.

    also, ich finde es sicher, da nur teammitglieder wissen, wo die textdateien für jeden einzelnen user liegen. und wenn ich einen neuen rohstoff mache, dann in einer neuen welt, aslo dort is sowieso einiges anderst..
  13. Na wenn du meinst :D
    Aber ich glaube, wenn ein Spieler wirklich interessiert ist zu Cheaten, dann wird er auch die Dateien finden.
  14. Autor dieses Themas

    michelbach

    Kostenloser Webspace von michelbach, auf Homepage erstellen warten

    michelbach hat kostenlosen Webspace.

    jo, dann muss er nurnoch das passwort rausfinden, sich nen bonus holen, erwischt werden, rausfliegen, und die ip gesperrrt bekommen. Dann war das sicer toll, esseiden, er hat noch nen internetanschluss..
  15. Du weißt schon, dass man normalerweise nach jedem Einwählen eine neue IP bekommt?


    frodo89 schrieb:
    Hm
    Da hab ich keine Ahnung. Ich meine - diesen Expliziten Fall mit der Holzmenge betrifft das jetzt nicht, aber wenn jetzt der Code so aussieht:
    [ code]
    $Holzmenge_new = \\\'Holzmenge nach dem Runden\\\';
    $Holzmenge = 512.16;
    $Holzmenge_new = round($Holzmenge);
    [ /code]

    Dann ist doch $Holzmenge_new zunächst vom Typen String, und wird später mit einer Floatzahl belegt - in dem Fall beißt sich das doch, oder ändert dann der Interpreter den Typen nochmal?

    lg, Michael

    Das ist PHP so ziemlich egal. Wenn du erst einen String hast und den dann mit einem Int überschreibst, hast du dann eben einen Int. Du kannst auch Strings zu Ints addieren, wenn beides Zahlen sind...
  16. Autor dieses Themas

    michelbach

    Kostenloser Webspace von michelbach, auf Homepage erstellen warten

    michelbach hat kostenlosen Webspace.

    nicht unbedingt. auserdem mach ich grad sowieso alles neu, und ich hab den code zum ip herausfinden verloren, desswegen hab ich schon vor ein paar minuten en neues thema aufgemacht..
  17. ein fach:
    $deineholzvariable = (int)deineholzvariable

    geht am einfachsten!
  18. Das würde aber nicht runden, sondern die Nachkommastellen einfach abschneiden.

    Wo bitteschön leigt denn das Problem bei round()?!
  19. Autor dieses Themas

    michelbach

    Kostenloser Webspace von michelbach, auf Homepage erstellen warten

    michelbach hat kostenlosen Webspace.

    die haben gesagt, dass das nicht bei allen Veriablen geht..
  20. s********r


    die haben gesagt, dass das nicht bei allen Veriablen geht..


    Wie wärs, wenn du einfach Mal ausprobierst?! Man muss nicht immer auf die Anderen hören. Schief gehen kann ja schliesslich nichts!!! Es braucht schon ein wenig Eigeninitiative und kreative Ideen für ein Browsergame. Mit deinen Beiträgen bringst du mich echt zum Ausrasten :mad: - und das obwohl ich weder einen zu hohen Blutalkoholpegel habe, noch übermüdet bin...

    Wie ich dir schonmal geraten habe - häng dein Browsergame an den Nagel und lern erst Mal ordentlich HTML...

    MfG

    sebigisler
  21. e********l

    @IP: $_SERVER[\'REMOTE_ADDR\'] :rolleyes:

    @Runden: Ich würde gar nichts runden. Nachdem das Endergebnis feststeht einfach für die grafische Ausgabe die Nachkommastellen abschneiden und gut ist. Es ist ja nur die grafische Ausgabe, denn in der Datei/Datenbank sollte weiterhin der Nachkommawert mit dabei stehen...

    @sebi: Keks? ^^
  22. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!