Alex: Float ins Int wandeln

Tach,
ich muss eine Kommazahl (float) ins Dezimal (int) umwandeln.
Besser gesagt, der Punkt oder das Komma sollen nicht mehr vorhanden sein.
Beispiel: 180,50 ==> 18050

Da ich aber mit Perl nie arbeite, weiß ich nicht genau wie ich das anstellen soll, eine funktion wie "replace" hab ich nicht gefunden.
Ich bitte um Hilfe, danke.

Gruss

  1. Beispiel: 180,50 ==> 18050

    http://de.selfhtml.org/perl/sprache/regexpr.htm#suchen_ersetzen

    Siechfred

    --
    Obacht, hinter jedem noch so kleinen Busch könnte ein Indianer sitzen!
    1. http://de.selfhtml.org/perl/sprache/regexpr.htm#suchen_ersetzen

      Siechfred

      $TotalSumm =~ s/[.]| //g;
      ??? So funktioniert es leider nicht, wie schon gesagt, der Punkt und/oder das Komma sollen weg, keine Alphabetische Zeichen. Ich denke dass das Script den "." als einen Operator anstatt eines Suchwert sieht.

      1. $TotalSumm =~ s/[.]| //g;

        "Ersetze alle Punkte und Leerzeichen durch nichts"

        ??? So funktioniert es leider nicht, wie schon gesagt, der Punkt und/oder das Komma sollen weg, keine Alphabetische Zeichen.

        Dann verwende eine entsprechende Zeichenklasse:

        $TotalSumm =~ s/[.,]//g;

        "Ersetze alle Punkte und Kommata durch nichts"

        Ich denke dass das Script den "." als einen Operator anstatt eines Suchwert sieht.

        Nein, da liegst Du falsch.

        Siechfred

        --
        Obacht, hinter jedem noch so kleinen Busch könnte ein Indianer sitzen!
        1. Nein, da liegst Du falsch.

          Müssen die nicht gequotet werden? Dann ziehe ich meine Aussage dahingehend im anderen Post zurück. Muss ich echt nochmal nachlesen.

          1. Schon ok leute, danke für die schnellen Antworten.
            Die einfachste Lösung:
            Wert = 199.66;
            Wert *= 100;
            Ausgabe: 19966

            Manchmal ist der einfachste weg, der beste ;)

          2. Müssen die nicht gequotet werden? Dann ziehe ich meine Aussage dahingehend im anderen Post zurück. Muss ich echt nochmal nachlesen.

            Bitteschön: perlretut

            "We saw in the section above that there were ordinary characters, which represented themselves, and special characters, which needed a backslash \ to represent themselves. The same is true in a character class, but the sets of ordinary and special characters inside a character class are different than those outside a character class. The special characters for a character class are -]^$ (and the pattern delimiter, whatever it is)."

            Musste nicht suchen ;)

            Siechfred

            --
            Obacht, hinter jedem noch so kleinen Busch könnte ein Indianer sitzen!
      2. $TotalSumm =~ s/[.]| //g;

        Punkte gehören gequotet, Das steht auch im Artikel, der dir verlinkt wurde.

        Ich persönlich würde es aber mit Runden probieren und dafür das hier lesen.

        Wenn die Nachkommstellen völlig egal sind, empfehle ich split(). Da einfach beim Punkt den String trennen und dann den ersten Teil nach int casten.

        1. $TotalSumm =~ s/[.]| //g;

          Punkte gehören gequotet, Das steht auch im Artikel, der dir verlinkt wurde.

          Ich weiss nicht, was du damit ausdrücken willst:

            
          #!C:/Programme/Perl/bin/perl.exe -w  
          #  
          use strict;  
            
          my $string = "... ... abc";  
          $string =~ s/[.]| //g;  
          print $string, "\n";  
            
          sleep(10);  
          exit;  
          
          

          mfg Beat

          --
          Woran ich arbeite:
          X-Torah
             <°)))o><                      ><o(((°>o
          1. Ich weiss nicht, was du damit ausdrücken willst:

            Deshalb habe ich eine halbe Stunde vor dienem Post das hier geschrieben.