Dezimalzahlen

  • Themenstarter Themenstarter q1q
  • Beginndatum Beginndatum
Q

q1q

Hallo, ich wollte nachfragen wie man ein inputfeld überprüfenlassen kann ob es sich beim Inhalt um dezimalzahlen bis 2 Stellen nach dem Komma handelt oder nicht.
die Zahlen dürfen nur von eins bis sechsh sein, also folgende ~ (1;1.11;1.12;...;2.10;...;6).

Hat jemand vielleicht schon ein Code dafür?
 
Du koenntest das mit regulaerem Ausdruck ueberpruefen.
Da ich da leider auch nicht so das Genie bin was regulaere Ausdruecke angeht kann ich das jetzt nur raten wie der String aussehen muesste "\d+(\.(\d[2]))?". Such am besten mal im Web nach regulaeren Ausruecken und Test. Es gibt einige Seiten bei denen man direkt den regulaeren Ausdruck mit einem String testen kann um zu schauen ob der funktioniert. Den regulaeren Ausdruck wendest Du dann mit der Funktion match() an. siehe: http://de.selfhtml.org/javascript/objekte/string.htm#match
 
Code deiner Seite waere hilfreich. Normalerweise rufst Du die Funktion beim Absenden der Daten aus dem Formular auf. Wenn die Funktion false zurueckliefert, werden die Daten nicht abgesendet und der Benutzer informiert, sonst normale Prozedur.
 
Hi,

eine weitere Möglichkeit: mit der Funktion parseFloat versuchen in eine Dezimalzahl umzuwandeln, anschliessend mit toFixed auf die gewünschte Anzahl Nachkommastellen runden. Jetzt kann getestet werden, ob der eingegebene Wert im vorgegebenen Intervall enthalten ist.

Beispiel:
Code:
<html>
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
<!--
function checkDez(objInput){
  var dblDez = parseFloat(objInput.value);

  if(isNaN(dblDez)){
    alert("Keine Dezimalzahl");
    return;
  }

  dblDez = dblDez.toFixed(2);

  if((dblDez<0) || (dblDez>6)){
    alert("Keine gültige Dezimalzahl");
  }else{
    if(dblDez != objInput.value)
      alert("Dezimalzahl korrigiert\n(Rundung auf zwei Nachkommastellen bzw. Dezimalpunkt eingefügt)");

    objInput.value = dblDez;
  }
}
//-->
</script>
</head>
<body>
<input type="text" id="dez_id" value="6,00">
<button onclick="checkDez(document.getElementById('dez_id'));">checkDez</button>
</body>
</html>

Ciao
Quaese
 

Neue Beiträge

Zurück