flokon: reg-exp?

Ich möchte berechnete Zahlen mit Komma anstelle eines Punktes darstellen und habe folgende Funktion geschrieben:

function removePoint(x) {
var b  = x.replace(/"."/g,",");
return b;
}

Der Typ von x ist Number (falls das eine Rolle spielen sollte)

Danke, flokon

  1. Hallo flokon.

    Ich möchte berechnete Zahlen mit Komma anstelle eines Punktes darstellen und habe folgende Funktion geschrieben:

    Und was ist nun deine Frage?

    function removePoint(x) {
    var b  = x.replace(/"."/g,",");
    return b;
    }

    AFAIR musst du den Punkt escapen, siehe: SelfHTML - RegExp.

    Der Typ von x ist Number (falls das eine Rolle spielen sollte)

    Meinst du zufällig Integer?

    Gruß, Ashura

    --
    Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
    Try it: Become an Opera Lover in 30 days
    Meine Browser: Opera 8.0 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
    IE Layout-Workaround №1: <!--[if IE]><style type="text/css">*{display:none;}</style><![endif]-->
    1. Und was ist nun deine Frage?

      Es funktioniert einfach nicht. Die Funktion liefert nichts zurück.

      function removePoint(x) {
      var b  = x.replace(/"."/g,",");
      return b;
      }

      AFAIR musst du den Punkt escapen, siehe: SelfHTML - RegExp.

      Das probiere ich aus.

      Meinst du zufällig Integer?

      Nein. Ich lese aus eine Eingabefeld etwas ein. Ungefähr so:

      var x = Number(docuement.f.eingabefeld.value);

      da ich mit den Werten rechnen muss.

  2. Tag flokon.

    function removePoint(x) {
    var b  = x.replace(/"."/g,",");
    return b;
    }

    Warum setzt du den Punkt in Hochkommata? Entweder du verwendest einen einfachen String als Suchmuster oder einen Regulären Ausdruck. Beides miteinander vermischen, so wie du es getan hast, kann nicht funktionieren. Siehe auch string.replace().

    Siechfred

    --
    «Ich liebe euch doch alle!»
    1. Warum setzt du den Punkt in Hochkommata?

      Weil es sonst nicht tut.

      PS: Wieso bekomme ich eigentlich die ganze Zeit ein x.replace is not a function?

      flokon

      1. Tag flokon.

        Warum setzt du den Punkt in Hochkommata?
        Weil es sonst nicht tut.

        Es tut doch aber gar nichts, oder? Lass dir mal den Typ von x anzeigen (typeof), vermutlich bekommst du hier das Ergebnis "number". Replace ist aber eine Methode des String-Objektes, ein Integer hat aber keine Methode "replace". Mache also einfach aus dem Integer explizit einen String:

        zahl = 1.2;  
        int_to_str = new String(zahl);  
        subst_str = int_to_str.replace(".", ",");  
        alert(subst_str);
        

        Alternativ könnte die replace-Anweisung so aussehen:
        subst_str = int_to_str.replace(/\./, ",");

        Siechfred

        --
        «Ich liebe euch doch alle!»
        1. Jetzt klappts.
          Danke