String -> Berechnung = NaN?? [Flash 9]
| 06.06.2009, 20:21 | | Beiträge: 90 Registriert: Feb 2007
| String -> Berechnung = NaN?? Hi
Ich versuche mich daran, einen String in eine Berechnung umzuwandeln, leider kommt, falls mal was anderes außer NaN rauskommt, nur M***t raus und ich weiß nicht, woran das liegt. Ich sitze schon mehrere Stunden dran, und find einfach diesen Fehler nicht... =( =( =( Deswegen wende ich mich jetzt an euch.
Bitte helft mir, wenn ihr einen Fehler gefunden habt (oder eine Methode, mit der das besser geht)...
Mein Code:
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | var dertext = this.berechnen_tx.text;
var array = dertext.split(/[\+]/);
trace("array",array);
for (var i=0; i<array.length; i++) {
array[i] = array[i].toString().split(/[\-]/);
trace("########array",i,' ',array[i]);
for (var j=0; j<array[i].length; j++) {
array[i][j] = array[i][j].toString().split(/[\*]/);
trace("######array",i,j,' ',array[i][j]);
for (var k=0; k<array[i][j].length; k++) {
array[i][j]<i> = array[i][j]<i>.toString().split(/[\/]/);
trace("###array",i,j,k,' ',array[i][j]<i>);
for (var l=0; l<array[i][j]<i>.length; l++) {
trace("#array["+i+"]["+j+"]["+k+"]["+l+"]");
trace(array[i][j]<i>[l].toString().indexOf("+"),array[i][j]<i>[l].toString().indexOf("-"),array[i][j]<i>[l].toString().indexOf("*"),array[i][j]<i>[l].toString().indexOf("/"));
trace(array);
trace(array[i]);
trace(array[i][j]);
trace(array[i][j]<i>);
trace(array[i][j]<i>[l]);
if (array[i][j]<i>[l+1] != null) {
trace("/",array[i][j]<i>[l],array[i][j]<i>[l+1],Number(array[i][j]<i>[l]) / Number(array[i][j]<i>[l+1]));
array[i][j]<i>[l+1] = Number(array[i][j]<i>[l]) / Number(array[i][j]<i>[l+1]);
}
}
array[i][j]<i> = array[i][j]<i>[array[i][j]<i>.length-1];
if (array[i][j][k+1] != null) {
trace("*",array[i][j]<i>,array[i][j][k+1],Number(array[i][j]<i>) * Number(array[i][j][k+1]));
array[i][j][k+1] = Number(array[i][j]<i>) * Number(array[i][j][k+1]);
}
}
array[i][j] = array[i][j][array[i][j].length-1];
if (array[i][j+1] != null) {
trace("-",array[i][j],array[i][j+1],Number(array[i][j]) - Number(array[i][j+1]));
array[i][j+1] = Number(array[i][j]) - Number(array[i][j+1]);
}
}
array[i] = array[i][array[i].length-1];
if (array[i+1] != null) {
trace("+",array[i],array[i+1],Number(array[i]) + Number(array[i+1]));
array[i+1] = Number(array[i]) + Number(array[i+1]);
}
}
array = array[array.length-1];
trace("Ergebnis:",array);
|
Gruß
shadow_zed | Geändert von shadow_zed am 06.06.09 um 20:28 Uhr
| |
|
| 06.06.2009, 20:53 | Re1 | abgemeldeter Benutzer
| hmm wenn du ein 4 dimensionales arry brauchst um 4 zahlenwerte aus nem eingabestring zu extrhieren würd ich den code im allgemeinen nochmal überdenken:)
ansonsten kann ich dir nur raten mach nach jeder berechnung einfach mal ein trace ala
trace("zwischenergebnisse: " + array[bla][blub] + ", typeOf number: " + typeof(array[bla][blub]) == 'number') ; | Geändert von tramal am 06.06.09 um 20:54 Uhr
| |
|
| | Themen Ähnliche Beiträge zum Thema | 18.11.2010 - lakul 04.11.2009 - tomcares 14.02.2010 - marco_reinhold 17.12.2010 - tobi-848 |
|
Flashhilfe.de Flash Platform Tipps & Tutorials Flash Platform Andere Programmiersprachen Jobangebote Diskussionen
Flashhilfe News 
Regeln & Bedingungen
|