Marcel: Runden

Hallo.

Ich habe ein (mein ersten) JavaScript geschrieben.
Es berechnet den Wert von einer bestimmten Goldmenge.

Hier ist es:

<html>
<head>
<title>Test</title><head>
<script type="text/javascript">
<!--
function Quadrat() {
   var Ergebnis = document.gramm.Eingabe.value / 31.10348 * document.gold.Eingabe.value / document.euro.Eingabe.value  ;
   alert("Der Wert von " + document.gramm.Eingabe.value + "g Gold ist " + Ergebnis + "Euro");
}
//-->
</script>
</head>
<body>

<form name="gold">
Goldkurs<input type="text" name="Eingabe" size="10">z.B.:280.25
</form>

<form name="euro">
Eu/$<input type="text" name="Eingabe" size="10">z.B.:0.86
</form>

<form name="gramm">
Goldmenge in Gramm<input type="text" name="Eingabe" size="10">z.B.100
</form>

<form>
<input type="button" value="Quadrat errechnen" onClick="Quadrat()">
</form>

</body>
</html>

Wie muss es aussehen, damit das "Ergebniss" maximal 2 Stellen nach dem Komma hat?

Danke.

  1. Hallo.

    Ich habe ein (mein ersten) JavaScript geschrieben.
    Es berechnet den Wert von einer bestimmten Goldmenge.

    Du gestattest, daß ich mal etwas an deinem HTML rumkritisiere:

    <body>
    <form name="gold">
    Goldkurs<input type="text" name="Eingabe" size="10">z.B.:280.25
    </form>
    <form name="euro">
    Eu/$<input type="text" name="Eingabe" size="10">z.B.:0.86
    </form>
    <form name="gramm">
    Goldmenge in Gramm<input type="text" name="Eingabe" size="10">z.B.100
    </form>
    <form>
    <input type="button" value="Quadrat errechnen" onClick="Quadrat()">
    </form>
    </body>

    Du hast sage und schreibe 4 (in Worten: VIER) Formulare eingebaut, um eine doch relativ simple Funktion zu realisieren: Drei Eingabefelder und einen Button.

    Mein Vorschlag wäre, das ganze in EINEM Formular zu realisieren (und zur besseren Formatierung in eine Tabelle zu stecken):
    <body>
    <form name="eingabe" action="nix" onsubmit="return false;">
    <table>
      <tr>
        <td>
          Goldkurs:
        </td>
        <td>
          <input type="text" name="goldkurs" size="10">
        </td>
        <td>
          z.B.: 280.25
        </td>
      </tr>
      <tr>
        <td>
          EUR/$
        </td>
        <td>
          <input type="text" name="eurokurs" size="10">
        </td>
        <td>
          z.B.: 0.86
        </td>
      </tr>
      <tr>
        <td>
          Goldmenge in Gramm
        </td>
        <td>
          <input type="text" name="goldmenge" size="10">
        </td>
        <td>
          z.B. 100
        </td>
      </tr>
      <tr>
        <td colspan="3">
          <input type="button" value="Quadrat errechnen" onClick="Quadrat()">
        </td>
      </tr>
    </table>
    </form>
    </body>

    Logischerweise ändert sich dadurch dein Javascriptcode auch:

    <script type="text/javascript">
    <!--
    function Quadrat() {
        var Ergebnis =
          document.eingabe.goldmenge.value / 31.10348 * document.eingabe.goldkurs.value / document.eingabe.eurokurs.value  ;
        alert("Der Wert von " + document.eingabe.goldmenge.value + "g Gold ist " + Ergebnis + "Euro");
     }
     //-->
     </script>

    Warum der ganze Heckmeck? Ich finde es übersichtlicher, alle Bedienelemente auch programmtechnisch in einem Formular unterzubringen. Solltest du später mal ein Formular zum Server schicken, kannst du es auch nicht in tausend Stücke zerhacken. Und die Formatierung mit der Tabelle übt auch.

    Ach ja, runden:
    Ergebnis = Math.round(Ergebnis*100)/100;

    Ergebnis*100 sind die Cents. Runden schneidet Zehntelcents ab, und Teilen durch 100 ergibt danach wieder Euro.

    - Sven Rautenberg