Andreas: (ZUR INFO) Runden auf 2 Nachkommastellen in Verbindung mit Euro - SPECIAL! (JS)

Hallo ihr Forum-ler,

weil ich auch hier schon prima Hilfen bekommen habe,
hier mal ein Special für euch :

Viele Leute wollen doch gerne auf 2 Nachkommastellen runden, z. B. wegen Euro <-> DM usw.

Aber 'diese unmöglichen Engländer ;-)' benutzen halt kein Komma, sondern einen Punkt, und so hab ich eine Lösung ausgearbeitet, die das deutsche übliche Währungsformat verwendet und auch in unserm Intranet fest drin ist jetzt :

(etwas viel text da ich noch etwas Doku mit drin habe)

<script language="JavaScript">                          
      /* DM - EURO - Konverter
       A.E.
       QI Bosch Bühl
      */
                          
   Script gibt EURO-Betrag mit Komma (deutsche Schreibweise) aus.
   */

function round2dez(x)
     {  /* Runde auf zwei Dezimalen */

var x1 =(Math.round(x*100) / 100);
      return x1;
     }

var h;
   var pr_dm   = 1000;  /* BEISPIEL, bitte ändern */

var pr_euro = pr_dm / EURO_KURS;

h = round2dez(pr_euro);
                                            
   pr_euro_int  = Math.floor(h);  /* Stellen abschneiden! (autsch)*/
   /* ganzzahliger Anteil */

pr_euro_frac = Math.round (Math.abs(pr_euro - pr_euro_int) * 100);
  /* Bruch-Anteil        */

if (pr_euro_frac < 10)
       pr_euro_frac = "0" + pr_euro_frac;

/* gefährlicher potenzieller Fehler :
        Ein Betrag von 1001,02 Euro würde standardmässig als 1001,2 ausgegeben

  • 18 Cents zu viel! */
        
         var message = pr_dm + ",- DM   (entspricht" + pr_euro_int + "," + pr_euro_frac + "\u20AC)");

/* \u20AC ist Unicode für Euro-Symbol!!!
Der Tip kam von einem SH-Forumler - danke!
(wer genau weiss ich nicht mehr)

</script>

Kopiert ihn euch und sagt mir ob er geht!

Wie gesagt : KEINE GARANTIE.

BEMERKUNG:

Die Textarea in self_forum_new.html ist DERMASSEN SCHMAL, dass mir ständig der Text umbricht und rechts eine riesige freie weisse Fläche ist ... vielleicht auch mal eine Idee, das zu verbreitern, da hier öfter Leute code posten.

so long,

andreas

  1. ääähmmmm ...

    denkt euch bitte noch eine alert (message) dazu,

    OK ?
    :-)

    1. ääähmmmm ...

      denkt euch bitte noch eine alert (message) dazu,

      »»  OK ?
      »»  :-)

      verflucht noch was fehlt ...

      vor 'Script gibt EURO-Betrag ... ' muss noch ein /* stehen.

      Wie gesagt : ich hab noch was ändern müssen - mein copyright und spezielle Daten entfernen etc. - und da hat mich diese ultraschmale Textarea, die andauernd meinen Text umgebrochen hat, fast total konfus gemacht.

      1. Hallo,

        »»  Wie gesagt : ich hab noch was ändern müssen - mein copyright und spezielle Daten entfernen etc. - und da hat mich diese ultraschmale Textarea, die andauernd meinen Text umgebrochen hat, fast total konfus gemacht.

        *kopfschüttel* Warum schreibst Du dann den Text nicht einfach offline mit irgendeinem Editor Deiner Wahl und fügst in dann in das Textfeld ein? Zudem hättest Du es gleich testen können auf Fehlerfreiheit :-)
        Das ich sowas einem anscheinend nicht ganz unbegabten Programmierer sagen muss *lächel*

        Gruß
           Michael

  2. Hallo Andreas!

    Aber 'diese unmöglichen Engländer ;-)' benutzen halt kein Komma, sondern einen Punkt, und so hab ich eine Lösung ausgearbeitet, die das deutsche übliche Währungsformat verwendet und auch in unserm Intranet fest drin ist jetzt :

    Na ist ja beeindruckend! Vielleicht ne kleine Optimierung gefaellig? ;-)

    <SCRIPT LANGUAGE="JavaScript1.2"><!--
        var EURO2DM = 1.95583;

    function dm2euro(dm) {
            var euro;

    dm = parseFloat(dm.toString().replace(/,/, "."));
            euro = dm / EURO2DM;

    return (Math.round(euro * 100) / 100).toString().replace(/./, ",");
        }
        //

    alert(dm2euro("6666,90"));
    //--></SCRIPT>

    »»  Wie gesagt : KEINE GARANTIE.

    Ebenfalls.

    »»  Die Textarea in self_forum_new.html ist DERMASSEN SCHMAL, dass mir ständig der Text umbricht und rechts eine riesige freie weisse Fläche ist ... vielleicht auch mal eine Idee, das zu verbreitern, da hier öfter Leute code posten.

    Kommt davon, wenn man IE benutzt. Bei Netscape sieht das wunderbar aus. ;-)

    So long, Calocybe

    1. »»  Die Textarea in self_forum_new.html ist DERMASSEN SCHMAL, dass mir ständig der Text umbricht und rechts eine riesige freie weisse Fläche ist ... vielleicht auch mal eine Idee, das zu verbreitern, da hier öfter Leute code posten.

      Kommt davon, wenn man IE benutzt. Bei Netscape sieht das wunderbar aus. ;-)

      Wie meinen ???

      Bei hinreichend großer Bildschirmauflösung (vor mir steht inzwischen ein 20"-Gerät) ist diese Textarea einfach nur den halben Bildschirm breit, selbst mit Netscape 4 und CSS.

      Frag lieber nicht, wie es mit Netscape 3 aussieht - Korrekturlesen eines längeren Postings vor dem Abschicken ist eine einzige Qual ... :-(

      1. »»  Die Textarea in self_forum_new.html ist DERMASSEN SCHMAL, dass mir ständig der Text umbricht und rechts eine riesige freie weisse Fläche ist ... vielleicht auch mal eine Idee, das zu verbreitern, da hier öfter Leute code posten.

        Kommt davon, wenn man IE benutzt. Bei Netscape sieht das wunderbar aus. ;-)

        Wie meinen ???

        Bei hinreichend großer Bildschirmauflösung (vor mir steht inzwischen ein 20"-Gerät) ist diese Textarea einfach nur den halben Bildschirm breit, selbst mit Netscape 4 und CSS.

        Frag lieber nicht, wie es mit Netscape 3 aussieht - Korrekturlesen eines längeren Postings vor dem Abschicken ist eine einzige Qual ... :-(

        Lieber Michael, dem ist ABSOLUT NICHTS
        hinzuzufügen!

        Lieber Stefan : bitte bitte bitte änderrrrrn !!
        das Codeposten ist sonst eine einzige QUAL!!!!

    2. Hallo Andreas!

      Aber 'diese unmöglichen Engländer ;-)' benutzen halt kein Komma, sondern einen Punkt, und so hab ich eine Lösung ausgearbeitet, die das deutsche übliche Währungsformat verwendet und auch in unserm Intranet fest drin ist jetzt :

      Na ist ja beeindruckend! Vielleicht ne kleine Optimierung gefaellig? ;-)

      <SCRIPT LANGUAGE="JavaScript1.2"><!--
          var EURO2DM = 1.95583;

      function dm2euro(dm) {
              var euro;

      dm = parseFloat(dm.toString().replace(/,/, "."));
              euro = dm / EURO2DM;

      return (Math.round(euro * 100) / 100).toString().replace(/./, ",");
          }
          //

      alert(dm2euro("6666,90"));
      //--></SCRIPT>

      »»  Wie gesagt : KEINE GARANTIE.

      Ebenfalls.

      »»  Die Textarea in self_forum_new.html ist DERMASSEN SCHMAL, dass mir ständig der Text umbricht und rechts eine riesige freie weisse Fläche ist ... vielleicht auch mal eine Idee, das zu verbreitern, da hier öfter Leute code posten.

      Kommt davon, wenn man IE benutzt. Bei Netscape sieht das wunderbar aus. ;-)

      So long, Calocybe

      Hi Calocybe,
      das ist ja wunderbar dass du mir dabei unter die Arme greifen willst.

      Aber ich vermeide es in der Firma für JS 1.2-Standard zu entwickeln, weil eben noch 4.0er IEs OHNE Service Pack 1 oder 2 rumkreuchen, die replace() gar nicht können, geschweige denn einen anderen Befehl aus JS 1.2.

      Meine Lösung läuft bereits ab JS 1.0, d. h. selbst auf IE 3.01.

      (*ätsch*) ;-)