Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-02-2008, 08:20   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Mannheim
Beiträge: 60
Berechnungen - völlige Verwirrung

Hallo Leute,

ich finde den Fehler nicht und bin völlig verwirrt...
Ich experementiere mit dem Berechnen von Zahlen herum und deren Formatierung (Tausenderstellen, Dezimalstellen..):

Eine Zahl soll gerundet werden auf 2 Stellen - kein Problem
Eine Zahl soll an den Tausenderstellen mit Punkt versehen werden, Dezimalstellen mit Komma - kein Problem

Wenn ich jetzt bei meiner Zahl z.B. 1.000,77 den Punkt weglösche, das Komma in einen Punkt umwandle und dann wieder runden will kommt NaN in meinem Textfeld heraus! Die Zahl ist aber wenn ich Sie mit typeof...ausgebe eine Number! Weiss jemand Rat?

fla anbei....
Angehängte Dateien
Dateityp: zip rechnen.zip (11,6 KB, 2x aufgerufen)
flash ist offline   Mit Zitat antworten
Alt 21-02-2008, 08:23   #2 (permalink)
no guts no glory
 
Benutzerbild von readme.txt
 
Registriert seit: May 2004
Ort: Nordhorn
Beiträge: 7.998
Woah! ... Warum benutzt du FlashMX als Prefix wenn du als CS3 abspeicherst ... das nervt!
__________________
Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke.

'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.'
readme.txt ist offline   Mit Zitat antworten
Alt 21-02-2008, 08:35   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Mannheim
Beiträge: 60
Nachtrag

oh, sorry, hatte nur an die Kompatibilität gedacht...

hier ein Auszug aus dem AS:

Textfeldname: TextF Textfeldvariable: zahl
Variablenübergabe:
on(release){

_root.runden(zahl)
}




****** tausender Punkt und Komma:
function moneyFormat(textfeld) {

var n = Number(textfeld);
var firstPart = textfeld.split (".")[0];

var secondPart = textfeld.split (".")[1];
while (secondPart.length < 2) {
secondPart += "0";

}

if (secondPart == undefined) {

secondPart = "00";

}

var tmpArr = firstPart.split ("");

for (var i in tmpArr) {

if ((tmpArr.length - i) % 4 == 3 && i > 0) {

tmpArr.splice (i, 0, ".");

}
tempSpeicher = tmpArr.join ("") + "," + secondPart + " " ;
trace(typeof(tempSpeicher));

}
TextF.text = tempSpeicher;
return tmpArr.join ("") + "," + secondPart + " " ;

}


****** wieder umwandeln zum rechnen:
function kommaZuPunkt (textfeld){

textfeld = textfeld.toString().split(",").join(".");
TextF.text = textfeld;

}

function punktWeg (textfeld){

textfeld = textfeld.toString().split(".").join("");
TextF.text = textfeld;

}


***********************************************
*** runden:


function runden(textfeld){
var ZahlAusTextfeld = Number(textfeld);
trace(typeof(ZahlAusTextfeld));
ZahlAusTextfeld = (Math.round(ZahlAusTextfeld*100)/100);
trace(typeof(ZahlAusTextfeld));

TextF.text = ZahlAusTextfeld;
trace(typeof(ZahlAusTextfeld));
}
flash ist offline   Mit Zitat antworten
Alt 21-02-2008, 08:43   #4 (permalink)
no guts no glory
 
Benutzerbild von readme.txt
 
Registriert seit: May 2004
Ort: Nordhorn
Beiträge: 7.998
Du solltest den Inhalt der Textfelder über Instanznamen und die Textfeld.text
auslesen ... Soweit ich weiss werden über die Var-Eigenschaft von Textfeldern auch die kompletten Style-Informationen mit übergeben.
__________________
Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke.

'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.'
readme.txt ist offline   Mit Zitat antworten
Alt 21-02-2008, 09:32   #5 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Mannheim
Beiträge: 60
..ich habe nun an alle Funktionen den Instanznamen des Textfeldes statt der Variablen übergeben (_root.kommaZuPunkt(TextF.text)), trotzdem kommt beim letzten Runden NaN raus..

trotzdem danke. Noch eine Idee..?
flash ist offline   Mit Zitat antworten
Alt 21-02-2008, 10:53   #6 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Mannheim
Beiträge: 60
Juuu ich habs gefunden:

an meinem Ausgabestring hat sich immer ein Leerzeichen drangehängt, somit konnte meine Rundungsfunktion nicht mehr rechnen...letztes Zeichen aus string weggelöscht, funktioniert!!!!
flash ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 19:41 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele