• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Zahlen

Status
Für weitere Antworten geschlossen.

moose

Neues Mitglied
Hi Leuts,
wie kann man mit JS bei einer Zahl erfahren, ob sie eine Dezimalzahl ist (z.B.: 1043535,4352345) oder ob sie eine Natürliche Zahl ist (z.B.: 1234)
 
Werbung:
hm , ich versteh deine frage nicht ganz welche zahl soll das denn sein, ich meind as siehst du doch selber
 
also...:

ich hab ein programm mit dem ich von der innenwinkelsumme ausgehen ausrechnen kann wieviele ecken ein n-eck hat. wenn das ergebnis z.B. 4,1 ecken sind, was ja keinen sinn macht, dann soll eine fehlermeldung kommen.
 
Werbung:
Code:
function ecken(Funktion){
    if(Funktion == 'ecken'){
     var summe = window.document.Eck.summe.value;
     var n = (summe / 180) + 2;
	 window.document.Eck.n.value = n}
    if(Funktion == 'wisu'){
     var n = window.document.Eck.n.value;
     var summe = (n - 2) * 180;
	 window.document.Eck.summe.value = summe;}
    if(Funktion == 'refresh'){
     window.document.Eck.summe.value = "";
     window.document.Eck.n.value = ""}}


	<form name="Eck" action="" onSubmit="">
	<table border="1">
	  <tr>
	      <td><input type="button" width="60" class="button" value=" Anzahl der Ecken  " onClick="ecken('ecken')"></td>
		  <td><input name="n"></td>
	  </tr>
	  <tr>
	      <td><input type="button" width="60" class="button" value="   Winkelsumme   " onClick="ecken('wisu')"></td>
		  <td><input name="summe"></td>
	  </tr>

	  <tr>
	      <td><input type="button" width="60" class="button" value="   Zeilen leeren " onClick="ecken('refresh')"></td>
		    <td>(n - 2)</td>
	  </tr>
		
	</table>
	</form>

Falls ihr euch das ganze mal anschauen wollt:
Meine HP: http://www.moose2.de -> Rechner -> ganz unten ist das script
 
Werbung:
ok, ich hab hier mal was gefunden, was di vielleicht helfen könnte:

Das Überprüfen von Dezimalzahlen ist schon eine etwas anspruchsvollere Aufgabe. Zum einen gibt es den Unterschied zwischen der deutschen und der amerikanischen Schreibweise: Während man in Deutschland den Ganzzahlanteil vom Dezimalteil durch ein Komma trennt, verwendet man in Amerika einen Punkt. JavaScript benötigt für Rechnungen die amerikanische Notation, sodass als aller erstes in einer Überprüfungsfunktion alle Kommata durch Punkte ersetzt werden. Zum anderen darf in der vermeintlichen Dezimalzahl maximal ein Punkt (bzw. Komma) vorkommen.

Code:
function isAFract(n){
   var s = "" + n //Umwandlung in String
   while (s.indexOf(",")>-1){//Kommata durch Punkte ersetzen
      s=s.substring(0,s.indexOf(",")) + "." 
+ s.substring(s.indexOf(",")+1 ,s.length)
   }
   var anzahl_punkt=0//Variable zum Zählen der Dezimalpunkte
   for (var i=0; i<s.length; i++)
      if (s.charAt(i)==".")
         anzahl_punkt++
   if (anzahl_punkt>1) //Mehr als ein Dezimalpunkt?
      return false
   // *** Eigentliche Überprüfung nach obigem Muster
   // *** Neu: Der Dezimalpunkt ist ein erlaubtes Zeichen
   var ziffern = ".0123456789" //Gültige Zeichen
   if (s.charAt(0)=="-")  //Führendes Minus entfernen
      s = s.substring(1, s.length)
   if (s=="0") //Bei "0"
      return true
   if (s.charAt(0)=="0" &&s.charAt(1)!=".")
      //Bei 0 am Anfang ohne folgenden Punkt
      return false
   for (var i=0; i<s.length; i++)
      if (ziffern.indexOf(s.charAt(i))==-1) //Keine Ziffer
         return false
   return true
}
 
ok, das script war mir zu kompliziert, aber das indexOf konnte ich ganz gut gebrauchen

Danke
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben