Andreas: bestimmter teil einer zahl

hi,
also ich bekomme aus einer Textdatei diese zahl:
1003/4
wie bekomme ich dieses /4 weg?
so das halt z.b. in meiner Variable $neueZahl "1003" steht.

ich hab mir gedacht vieleicht mit nem befehl das er nur die ersten 4 zeichen liest. Aber ich weis nicht wie das gehen soll.

kennt vieleicht einer eine bessere lösung?

gruß andreas

  1. Hello,

    hi,
    also ich bekomme aus einer Textdatei diese zahl:
    1003/4
    wie bekomme ich dieses /4 weg?
    so das halt z.b. in meiner Variable $neueZahl "1003" steht.

    ich hab mir gedacht vieleicht mit nem befehl das er nur die ersten 4 zeichen liest. Aber ich weis nicht wie das gehen soll.

    Du könntest verschiedene Funktionen ausprobieren

    Das sollte für den Anfang genügen.

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
  2. http://php.net/substr und/oder http://php.net/strpos oder http://php.net/str_replace

    mfg Till

  3. hi,

    also ich bekomme aus einer Textdatei diese zahl:
    1003/4

    das ist keine zahl im sinne von PHP, sondern ein string.

    wie bekomme ich dieses /4 weg?

    mit einer geeigneten string-funktion - die übersicht über die string-funktionen findest du unter http://www.php.net/manual/de/ref.strings.php.

    ich hab mir gedacht vieleicht mit nem befehl das er nur die ersten 4 zeichen liest.

    das wäre eine möglichkeit, wenn sichergestellt ist, dass die "zahl" immer aus genau vier ziffern besteht.
    wenn nicht, ist z.b. ein auftrennen des strings am zeichen / die günstigere variante.

    Aber ich weis nicht wie das gehen soll.

    wie gesagt, schau dir die stringfunktionen an.

    gruss,
    wahsaga

  4. Hallo

    hi,
    also ich bekomme aus einer Textdatei diese zahl:
    1003/4
    wie bekomme ich dieses /4 weg?
    so das halt z.b. in meiner Variable $neueZahl "1003" steht.

    ich hab mir gedacht vieleicht mit nem befehl das er nur die ersten 4 zeichen liest. Aber ich weis nicht wie das gehen soll.

    kennt vieleicht einer eine bessere lösung?

    Kommt drauf an ob immer dieses Format kommt xxxx/x.
    1. Die Zahl kann in der Länge variabel sein also auch mal xxxxxxxx/xx
    2. Der Trenner kann auch mal "*" sein

    bei 1 = dann würde ich explode() nehmen
    bei 2 = dann würde ich substr() nehmen
    wenn 1 und 2 vorkommen kann = dann würde ich nach dem ersten Zeichen sichen dass keine Zahl ist und dort trennen :-) [weiss jetzt grad nicht mit welcher Logik ich das bauen könnte in PHP]

    HTH
    kaepten

  5. hi,
    also ich bekomme aus einer Textdatei diese zahl:
    1003/4
    wie bekomme ich dieses /4 weg?
    so das halt z.b. in meiner Variable $neueZahl "1003" steht.

    ich hab mir gedacht vieleicht mit nem befehl das er nur die ersten 4 zeichen liest. Aber ich weis nicht wie das gehen soll.

    kennt vieleicht einer eine bessere lösung?

    Ich kenne mich mit PHP nicht aus, aber in Perl würde ein schlichtes int(ausdruck) reichen.

    Gruß
    Reiner

  6. Hallo Andreas,

    mit Perl würde ich es so machen:

    ($neueZahl, $dummerRest = split(///, $alteZahl);

    Das hätte den Vorteil, dass es auch klappt, wenn $neueZahl mal länger oder kürzer ist als 4 Zeichen und wenn $dummerRest auch mal länger oder kürzer ist als 1 Zeichen. Nur der Trenner muss immer / sein, damit es funktioniert.

    Gruß,
    Thomas

    1. Hallo Thomas,

      mit Perl würde ich es so machen:

      ($neueZahl, $dummerRest = split(///, $alteZahl);

      Das hätte den Vorteil, dass es auch klappt, wenn $neueZahl mal länger oder kürzer ist als 4 Zeichen und wenn $dummerRest auch mal länger oder kürzer ist als 1 Zeichen. Nur der Trenner muss immer / sein, damit es funktioniert.

      wenn schon so aufwendig, dann aber bitte so:

      ($neueZahl,undef) = split(///,$alteZahl,2);

      $dummerRest belegt unsinnig Speicherplatz! ;-)

      Gruß
      Reiner

  7. Danke an alle für die antworten.
    ich habs jetzt mit substr() gemacht das die erste zahl immer 4stellig ist und sich nicht ändert. nur die zahl nach dem / ändert sich aber das ist ja egal wenn ich von vorne die ersten 4stellen ausgebe.

    Gruß Andreas