mit ziffernfolge rechnen

NightmareVirus

Grünschnabel
hallo
neuer tag neues problem... :)

Ich möchte eine Schleife bauen in der eine vorhereingebene zahl in ihre ziffern unterteil wird und dann diese mit 1 addiert werden

Algorithmus:

WIEDERHOLE so oft wie Zahl lan ist
{
-addiere aktuelle Stelle der Zahl mit 1
}

so jetzt ist meine frage wie setzt ich das in flash um!?
 
PHP:
function increase( number_ )
{
	var string = number_.toString() // aus Nummer String machem
	var retVal = ""
	for (var i=0; i<string.length; i++ ) // einzelne Stellen seperat speichern, hochzählen und an retVal dranhängen
	{
		this["stelle" + i] = string.substr(i,1)
		this["stelle" + i]++
		retVal += this["stelle" + i]
		delete this["stelle" + i]

	}
	return Number ( retVal ) // retVal als Nummer ausgeben
}

trace ( increase ( 13245 ) )

Mal schnell hingeschrieben.
Das Skript macht allerding aus einer 9 eine 10.
also 99 wird zu 1010.
Aber auf jeden Fall ist da schonmal eine ( nicht wirklich elegante, aber funktionierende ) Methode an die einzelnden Zahlen zu kommen.
 
ähm... ich rall nix :)

is mein erstes action-script projekt :)

1. wieso PHP? ich möchte das in Action-Script schreiben
2. rall ich den code total net... weder welche variabl wofür ist noch was du da eignetlich gemacht hast...

also mein quelltext sieht z.Z. wie folgt aus:


on(press)
{
ISBN = int(textfeld1.text);
for (var n=0;n<string.lenght;n++)
{
//so hier fehlt jezz die rechnung für die einzelnen ziffern
}


}


n ist die zählvariable
ISBN die variable in der die nummer gespeichert wird...
 
Da steht doch nur PHP, weil das im Antworten-Formular des Forums DIE moeglichkeit darstellt, Code wiederzugeben, ohne, dass man befuerchten muss, dass da Zeichen interpretiert werden und diese ausgefuehrt werde oder so ähnlich.. ausserdem macht der alles so schoen farbig, damit man immer schoen ueberblick hat, was da was ist...
 
maaah

ich blick hier net durch... kann mir das nicht jmd ERKLÄREN... wenn ich da oben so einen fertigen Quellcode sehe verstehe ich doch nur bahnhof :(

also wie gesagt mein anstz zu dem algorithmus ist:



on(press)
{
ISBN = int(textfeld1.text);
var ISBN = ISBN.tostring(); // wofür is das gut
for (var n=0;n<string.lenght;n++)
{
// wie bringe ich hier jezz rechnung mit den einzelnen ziffern der zahl ISBN unter?
}

ergebnis = ISBN;


und nu?

welche variable muss ich verwenden damit der die 1. ziffer nimmt und welche variable für die 2.
 
Zuletzt bearbeitet:
Hi,

PHP:
on(press)
{
  ISBN = int(textfeld1.text);
  var ISBN = ISBN.toString(); // Zahl (Integer) in String umwandeln
  var helper=0;
  var neue_zahl = ""; // hierein kommt die neue Zahl
  for (var n=0;n<string.length;n++) 
  { 
    helper = parseInt(ISBN.substr(n, 1), 10); // Hilfsvariable;
    neue_zahl+=(helper+1).toString(); // Stelle anfügen
  }
  ergebnis = neue_zahl;
}

Gruß

P.S.: bitte beachte Groß- und Kleinschreibung.
 
Hi,

ein Blick in die Referenz würde Dich davon überzeugen, dass die Funktion parseInt als zweiten Parameter die Basis des gewünschten Zahlensystemes erwartet. Statt dessen kann man auch einfach int() nehmen. (Der String sollte jedenfalls in eine Zahl umgewandelt werden, damit die Berechnungen (inkrement) korrekt ausgeführt wird)

Das += ist eine verkürzte Schreibweise. Beispiel:
PHP:
a = a + b;
// macht das selbe wie:
a+=b;
in diesem Fall wird die Variable nicht inkrementiert (da es sich um einen String handelt), sondern an den String angehängt. Die String-Klasse überschreibt den Inkrement-Operator, so dass Variablen angehängt werden:
PHP:
a = "Hallo";
b = " Welt";
a += b;
// ergibt: "Hallo Welt";

Gruß
 
Zurück