Quelltext der Datei: http://www.michaelster.ch/jsTestFolder/math.round.htm

Dateigrösse: 6.35 kb

[Anzeige ohne Zeilennummern]


1 
<!DOCTYPE html><html lang="de"><head>    <meta charset="utf-8" />                <title>Math.round()</title>    <!--     function zum Runden von Zahlen    -->    <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">    <link rel="icon" type="image/svg+xml" href="../img/favicon.svg" sizes="any">        <style>        *      { padding:0; margin:0; }        body { padding:2.75em 3em; font: 12pt verdana,georgia,arial,sans-serif; }        h2     { font: bold 20pt verdana,sans-serif !important; }        form { font: 12pt verdana,sans-serif !important; padding:10pt 0; }        p     { padding:6pt 0 !important; margin-top:10pt; }        .result, .raw, .runden { width: 150pt !important; padding:5pt 5pt !important; font: 11pt verdana,sans-serif !important;  }        .result { font-size:12pt !important; margin-top:2px !important; padding:8px 4px 8px 8px !important; border:2px solid gray; border-radius:3pt; box-shadow:2pt 2pt 3pt crimson; }        .raw    { border:2px solid gray; border-radius:3pt; }        .runden { width: 160pt !important; }    </style>        <script>      function round(wert, dez)       {        wert = parseFloat(wert);        if (!wert) return 0;        dez = parseInt(dez);        if (!dez) dez=0;        var umrechnungsfaktor = Math.pow(10, dez);        var multi = Math.round(wert * umrechnungsfaktor);        var res   = multi / umrechnungsfaktor;        /*** Control in der Console ***/        console.log(umrechnungsfaktor);        console.log(multi);        console.log(dez);        if(umrechnungsfaktor == '0.00001') {            res = Math.round(res);            console.log(res);        }        return res;      }      /*** Beispiel ****************************************************      zahl = 8175.4647693075;      gerundet = round(zahl, 3); //auf drei Stellen runden = 8175.465      *****************************************************************/      function ausgabe(wert, dez)       {        valeur = wert.replace(',', '.');        valore = valeur.replace(/'/g, '');        //console.log(valore);               index(valore);                var result = 0;        result = round(valore, dez);                document.getElementById('res').innerHTML=result;                hideres(wert, dez);      }            function index(valore)       {        var l = valore.length; // alle Dezimalstellen (plus Kommata/Punkt)        var n = valore.indexOf("."); // Position Komma/Punkt, wenn keiner n = -1        var k = ((l-n)-2); // Differenz von l und n minus Punkt und letzter Stelle (-2)                //numinfo(l,n,k);                 error(n,l);                if(n != -1)         {          while(k >0) {            console.log(k);            document.getElementById(k).style.display='flex';            k--;          }          n--;          while(n >=0) {            console.log(n);            document.getElementById('p'+n).style.display='flex';            n--;          }        } else {          l--;          while(l >=0) {            console.log(l);            document.getElementById('p'+l).style.display='flex';            l--;          }        }      }    function error(n, l) {        if((n == -1 && l >7) || (n != -1 && n >7)) {            errormsg();        }        if(((l-n)-1) >7) {            errormsg2();        }    }    function errormsg() {        document.write('<html style="padding:0; margin:0;"><body style="padding:2.5em 3em;"><h1 style="font:bold 20pt verdana,sans-serif; color:crimson;">&clubs; Zahl zu gross &diams; max. 9 Millionen &spades;</h1><button  style="padding:5pt 10pt; margin-top:1em; border-radius:5px; font:bold 11pt verdana,sans-serif; border:2pt solid black; background:white;" onclick="location.href=\'http://www.michaelster.ch/jsTestFolder/math.round.htm\';">verstanden</button></body></html>');     }    function errormsg2() {        document.write('<html style="padding:0; margin:0;"><body style="padding:2.5em 3em;"><h1 style="font:bold 20pt verdana,sans-serif; color:crimson;">&diams; Zu lange Zahl &clubs; max. 7 Dezimalstellen &spades;</h1><button  style="padding:5pt 10pt; margin-top:1em; border-radius:5px; font:bold 11pt verdana,sans-serif; border:2pt solid black; background:white;" onclick="location.href=\'http://www.michaelster.ch/jsTestFolder/math.round.htm\';">verstanden</button></body></html>');     }    function numinfo(l,n,k) {        document.getElementById("interg").innerHTML = n + " :: " + l + " :: " + k;    }    function hideres(wert, dez) {         if(wert && dez) {            document.getElementById('interg').style.display='flex';            document.getElementById('res').style.display='flex';        } else {            document.getElementById('interg').style.display='none';            document.getElementById('res').style.display='none';        }    }    </script></head><body onload="document.getElementById('f0').elements['rawnumber'].value='';">      <h2>Math.round()</h2>  <form name="f0" id="f0">    <p>Zahl:</p>    <input type="text" id="zahl" name="rawnumber" placeholder="Bitte hier eingeben" onblur="ausgabe(this.value);" title="Kein Komma, nur Punkt" size="15" maxlength="15" class="raw" value="" autofocus />    <p>runden auf:</p>    <select name="selround" class="runden" size="1" id="sel_id" onchange="ausgabe(document.getElementById('f0').elements['rawnumber'].value, this.value);">        <option value="">Bitte w&auml;hlen &nbsp;</option>        <option value="">- <> - <> - <> - <> - <> - <> - <> - &nbsp;</option>        <option style="display:none" id="6" value="6">&nbsp;&bull;&nbsp;millionstel</option>        <option style="display:none" id="5" value="5">&nbsp;&bull;&nbsp;hunderttausendstel</option>        <option style="display:none" id="4" value="4">&nbsp;&bull;&nbsp;zehntausendstel</option>        <option style="display:none" id="3" value="3">&nbsp;&bull;&nbsp;tausendstel</option>        <option style="display:none" id="2" value="2">&nbsp;&bull;&nbsp;hundertstel</option>        <option style="display:none" id="1" value="1">&nbsp;&bull;&nbsp;zehntel</option>        <option style="display:none" id="p0" value="0">&nbsp;¤&nbsp; Einer</option>        <option style="display:none" id="p1" value="-1">&nbsp;¤&nbsp; Zehner</option>        <option style="display:none" id="p2" value="-2">&nbsp;¤&nbsp; Hunderter</option>        <option style="display:none" id="p3" value="-3">&nbsp;¤&nbsp; Tausender</option>        <option style="display:none" id="p4" value="-4">&nbsp;¤&nbsp; Zehntausender</option>        <option style="display:none" id="p5" value="-5">&nbsp;¤&nbsp; Hunderttausender</option>        <option style="display:none" id="p6" value="-6">&nbsp;¤&nbsp; Millionen</option>        <option>&nbsp;</option>    </select>    <p style="display:none" id="interg" class="interg">      <b>Resultat:</b>    </p>    <div style="display:none" class="result" id="res"></div>  </form></body></html>