Volledige versie bekijken : Datatype probleem
Flashkiddy
%Europe/Berlin %888 %2005, 21:19
Hoi,
ik zit ff vast en hoop dat iemand me kan helpen. Het probleem is het volgende:
Ik heb een XML bestand ingelezen en helemaal in een array gezet. Nu wil ik een maximale en minimale waarde uit de array toekennen aan twee static variabelen in een andere class. Die zijn reeds gedefinieerd met als datatype "Number".
Aangezien Flash geen runtime debugging heeft, zie ik ook niet echt waar het fout gaat.
Als ik vervolgens die static variable ergens anders weer aanroep en door 2 wil delen, dan zegt Flash "NaN". Dus blijkbaar ist geen datatype "Number" meer. Dat vind ik al raar.
Volgens mij gaat het fout wanneer ik de XML verwerk, omdat die gegevens van het datatype Object zijn.
Casten naar Number heb ik geprobeerd maar ik blijf NaN terugkrijgen.
Laterz
Dauntless
%Europe/Berlin %893 %2005, 21:26
Misschien wat code laten zien ? Als je een string in die static variable van het type 'number' wilt zetten moet hij zowieso al een fout geven...
TheDutch
%Europe/Berlin %893 %2005, 21:27
Misschien wat code erbij posten? Het is in iedergeval wel van datatype Number omdat NaN een output is van een ongeldig nummer binnen een Number.
Cowerd
%Europe/Berlin %893 %2005, 21:27
misschien kan je het door 2-en delen in een Number() zetten...
dus bv:
var nummer:Number = 14;
trace(nummer); // 14
var nummer2:Number = Number(nummer/2);
trace(nummer2); // 7;
// alle 3 beginnen we met misschien:P
TheDutch
%Europe/Berlin %894 %2005, 21:28
-------------
Dauntless
%Europe/Berlin %896 %2005, 21:30
Lol :D
Btw, Cowerd, Number("5")/2 heeft meer nut als Number("5"/2);
Cowerd
%Europe/Berlin %897 %2005, 21:32
Hmm ja dat kan wel ja:P
maar ik misschien werkt het wel:P
ik sloeg een keer de length van een Array op, en die wilde ik delen.
het lukte niet, maar met Number() er om heen wel:P
Flashkiddy
%Europe/Berlin %947 %2005, 22:45
Hey iedereen,
thanx voor de snelle reacties. Ik heb geen code geplaatst omdat het nogal veel code is die verspreid is over meerdere classes.
Na een extra 3 uur ***ten en kloten (en dat zijn nogal wat geslachtdelen) ben ik eruit gekomen. Ik heb mijn XML eens veranderd. Dit was het voorheen:
<Measurements>
<Row>
<Data>12033700</Data>
<Data>3600</Data>
<Data>1</Data>
</Row>
<Row>
<Data>8511200</Data>
<Data>7200</Data>
<Data>2</Data>
</Row>
</Measurements>
En nu heb ik er dit van gemaakt:
<Measurements>
<Row>
<Data value="12033700" />
<Data value="3600" />
<Data value="1" />
</Row>
<Row>
<Data value="8511200" />
<Data value="7200" />
<Data value="2" />
</Row>
</Measurements>
Ik heb bijna niets veranderd aan m'n code, maar nu snapt ie wel dat het Numbers zijn. Het werkt dus, maar ik weet nog steeds niet waarom. Kunnen jullie mij vertellen of dit iets te maken kan hebben met de opmaak van de XML? Dan zal ik dit in de toekomst niet meer doen.
Thanx a bunch again.
Flashkiddy
%Europe/Berlin %949 %2005, 22:47
@ Dauntless
Na talloze typeof-traces zie ik vaak dat hij een object ziet ipv een Number.
Ik snap hoe een Number() cast werkt, maar dat wil gewoon niet.
Laiverd
%Europe/Berlin %950 %2005, 22:49
Ik had zelf volgens mij gisteren een identiek probleem. Zie ook:http://www.flashfocus.nl/forum/showthread.php?t=7943 (derde post)
John
[m]
%Europe/Berlin %002 %2005, 00:02
@ Dauntless
Na talloze typeof-traces zie ik vaak dat hij een object ziet ipv een Number.
Ik snap hoe een Number() cast werkt, maar dat wil gewoon niet.
Dat betekent meestal dat je nog een xml node terug krijgt en niet de waarde (wat altijd een string is). firstChild.getValue oid zal vast wel wat kopzorgen schelen.
edit: net wat laiverd zegt dus. :)
TheDutch
%Europe/Berlin %236 %2005, 05:40
']firstChild.getValue oid zal vast wel wat kopzorgen schelen
Je bedoeld firstChild.nodeValue ;).
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.