Alexander: Umrechnung von Var. $Preis(DM) in €

Hallo!
Hab eine gegebene Variable $Preis. Dieser Preis ist in DM angegeben. Jetzt würde ich den gerna auch als €Preis ausgeben. Dazu muß ich halt den Wert in der Variable Preis durch 1,95583 dividieren.
Ich dachte einfach

$Preis/1,95583

aber das geht nicht. Wie muß der Code hierfür aussehen, also der Print Befehl, obiges stand auch in eine Print Befehl. leider finde ich nur Rechnen mit Zahlen, nicht mit Variablen:-(

Ich hab auch probiert, $Euro zu definieren, als Zahl, und $Europreis als $Preis / $Euro
Aber da get auch nicht!
Wer weiß Rat`?
Gruß
Alex

  1. Hi,

    Hab eine gegebene Variable $Preis. Dieser Preis ist in DM angegeben. Jetzt würde ich den
    gerna auch als üPreis ausgeben. Dazu muß ich halt den Wert in der Variable Preis durch 1,95583
    dividieren.

    Ich dachte einfach
    $Preis/1,95583

    Du vergisst, das Programmiersprachen grundsaetzlich die US-Notation benutzen. Eine
    "Komma"-Zahl beinhaltet also einen Punkt statt eines Kommas.

    $Preis = $Preis / 1.95583;

    waere also richtig.

    Und weils so schoen ist noch

    $Preis = sprintf("%.2f",$Preis / 1.9);

    Gruss,
     Christian Kruse
     http://wwwtech.de

    1. Moin

      $Preis = sprintf("%.2f",$Preis / 1.9);

      Was bedeutet das? Hoffentlich nicht, dass du durch 1,9 teilst?

      Viele Grüße

      Swen

      1. Hoi,

        $Preis = sprintf("%.2f",$Preis / 1.9);

        Was bedeutet das? Hoffentlich nicht, dass du durch 1,9 teilst?

        Doch. Ich dividiere durch 1.9 und runde es kaufmaennisch auf 2 Nachkommastellen.

        Den Rest der Stellen bei der 1.9 hatte ich keinen bock zu tippen ;-)

        Gruss,
         Christian
         http://wwwtech.de

        1. Hey!

          Danke, funktioniert wunderbar!

          aber kann ich denn so einfach:
          $Preis = sprintf("%.2f",$Preis / 1.9);?
          Hierdurch wird doch die Variable preis verändert, so dass der alte preis weg ist, oder?

          Da meine Preisvariable keine Nachkommastellen hat, hab ich das mal so gemacht, dann wird der preis auch mit Nachkommastellen angezeigt.
          $Summe = sprintf("%.2f",$Preis );

          Oder könnte ich einfach
          $Preis = sprintf("%.2f",$Preis );
          schreiben?
          Gruß
          Alex

          Was bedeutet das? Hoffentlich nicht, dass du durch 1,9 teilst?
          Doch. Ich dividiere durch 1.9 und runde es kaufmaennisch auf 2 Nachkommastellen.

          Den Rest der Stellen bei der 1.9 hatte ich keinen bock zu tippen ;-)

          Gruss,
          Christian
          http://wwwtech.de

          1. Moin

            Da meine Preisvariable keine Nachkommastellen hat, hab ich das mal so gemacht, dann wird der preis auch mit Nachkommastellen angezeigt.

            Sollte er auch, denn ansonsten wäre die Umrechnung ggf. rechtsfehlerhaft.

            Zitat aus Artikel 5 Euro-VO I
            Zu zahlende oder zu verbuchende Geldbeträge werden bei einer Rundung, die nach einer Umrechnung in die Euro-Einheit [...] erfolgt, auf den nächstliegenden Cent auf- oder abgerundet. [...] Führt die Anwendung des Umrechnungskurses zu einem Resultat genau in der Mitte, so wird der Betrag aufgerundet.

            Das nennen wir in D käufmänische Rundung. Die Rundung darf aber _nur_ dann erfolgen, wenn der Betrag zu "zahlen" oder zu "verbuchen" (gemeint ist wohl: "buchen") ist. Während der Rechenvorganges also noch nicht. So wurde die während der Übergangszeit wünschenswerte Genauigkeit erreicht.

            Bei Umrechnungen aufgrund der Währungsumstellung zum 1.1.2002 darf jedoch unabhängig von diesen Voraussetzungen entsprechend der eben genannte Regelung gerundet werden

            Viele Grüße

            Swen

            1. Hi Swen

              Zitat aus Artikel 5 Euro-VO I
              Zu zahlende oder zu verbuchende Geldbeträge werden bei einer Rundung, die nach einer Umrechnung in die Euro-Einheit [...] erfolgt, auf den nächstliegenden Cent auf- oder abgerundet. [...] Führt die Anwendung des Umrechnungskurses zu einem Resultat genau in der Mitte, so wird der Betrag aufgerundet.

              Hast Du einen Link zu dem Ursprung dieser Regelung?

              Ich suchte nämlich jüngst Infos zur exakten (und rechtlich/kaufmännisch korrekten) Umrechnung und habe nichts verständliches und offiziell genehmigtes (EZB, Landesbank o.ä.) gefunden.

              Danke und Grüsse

              Eisbär

              1. Moin

                [Zitat aus Artikel 5 Euro-VO I]

                Hast Du einen Link zu dem Ursprung dieser Regelung?

                Eine gute Adresse für solche Fragern ist die Kommission http://europa.eu.int/euro/html/rubrique-cadre3.html?pag=section3.html|section=216|lang=3|chap=26 Hangel dich durch über Referentexte -> Europäische Kommission -> Texte zum Euro und wähle
                "Texte zum Euro 22: Die Einführung des Euro und die Rundung von Währungsbeträgen" (PDF-Datei)

                Ohne mich selbst rühmen zu wollen (Ich bin Autor dieser Texte) kannst du auch hier das wesentliche aus der Sicht einer Verwaltung nachlesen (http://www.schleswig-holstein.de/landsh/mfe/berichte/euro/euro_01.htm nachlesen. Achte bitte auch auf den Unterschied zwischen Übergangszeit und der Zeit nach dem 1.1.2002 (das wird in den etwas älteren Texte nicht so deutlich klar).

                Artikel 14 der Euro-VO II - besonders der zweite Satz ("Wird in Rechtsinstrumenten, die am Ende der Übergangszeit bestehen, auf nationale Währungseinheiten Bezug genommen, so ist dies als Bezugnahme auf die Euro-Einheit entsprechend dem jeweiligen Umrechnungskurs zu verstehen. Es gelten die in der Verordnung (EG) Nr. 1103/97 niedergelegten Rundungsregeln.") ist eine Rechtsfolgenverweisung. Es wird also gerundet, auch wenn der Betrag nicht ein zu zahlender oder zu verbuchender betrag ist. Im privaten Recht stsht es den Vertragspartnern natürlich frei, genauere Regelungen tzu vereinbaren - aber das steht auch alles in den o.g. Ressourcen.

                Bei Fachfragen mail mich ruhig "dienstlich" an: Swen.Wacker@fimi.landsh.de oder Swen.Wacker@stk.landsh.de.

                Ich hatte mal überlegt, ein Teil davon zu einem Featureartikel zu verarbeiten, da meine damaligen aber ohne praktische Programmierbeispiele (JS, Perl etc) sind und meine Kenntnisse in Scriptsprachen wiederum nicht so hervorragend sind, hatte ich die Idee schließlich verworfen. Hier ist ja kein juristische Seminar :-)

                Viele Grüße

                Swen

                Ich suchte nämlich jüngst Infos zur exakten (und rechtlich/kaufmännisch korrekten) Umrechnung und habe nichts verständliches und offiziell genehmigtes (EZB, Landesbank o.ä.) gefunden.

                Danke und Grüsse

                Eisbär

                1. Hi Swen

                  Besten Dank *freu*

                  Eine gute Adresse für solche Fragern ist die Kommission http://europa.eu.int/euro/html/rubrique-cadre3.html?pag=section3.html|section=216|lang=3|chap=26 Hangel dich durch über Referentexte -> Europäische Kommission -> Texte zum Euro und wähle
                  "Texte zum Euro 22: Die Einführung des Euro und die Rundung von Währungsbeträgen" (PDF-Datei)

                  Ohne mich selbst rühmen zu wollen (Ich bin Autor dieser Texte) kannst du auch hier das wesentliche aus der Sicht einer Verwaltung nachlesen (http://www.schleswig-holstein.de/landsh/mfe/berichte/euro/euro_01.htm nachlesen. Achte bitte auch auf den Unterschied zwischen Übergangszeit und der Zeit nach dem 1.1.2002 (das wird in den etwas älteren Texte nicht so deutlich klar).

                  Genau das, was ich suchte: detailliert, offiziell und verständlich!

                  Danke und Grüsse

                  Eisbär