Volledige versie bekijken : .toNumber() ?
eagle
%Europe/Berlin %461 %2005, 12:04
var num1:Number = 0;
var num2:Number = 1;
var num3:String = num1.toString() + num2.toString();
Hoe krijg ik van num3 terug een Number?
Dauntless
%Europe/Berlin %462 %2005, 12:05
num3 = Number(num3);
Roenes
%Europe/Berlin %541 %2005, 13:59
Werkt in dit voorbeeld niet helemaal Dauntless, num3 is gedeclareerd van het type String. Na de conversie wordt num3 een Number. Maar dat komt niet overeen met het datatype dus zul je een foutmelding krijgen ;)
Maar het principe is wel juist wat Dauntless aangeeft :)
FlashElements
%Europe/Berlin %543 %2005, 14:02
Hoe krijg ik van num3 terug een Number?
var num4:Number = parseInt(num3);
of zo iets ?
arshad
%Europe/Berlin %546 %2005, 14:06
In dit voorbeeld zou het juist wel lukken.
var num1:Number = 0;
var num2:Number = 1;
var num3:String = num1.toString() + num2.toString();
var num3:Number = Number(num3);
trace(num3);
Output: 1
Roenes
%Europe/Berlin %547 %2005, 14:08
In dit voorbeeld zou het juist wel lukken.Jah maar daar declareer je num3 opnieuw met het type Number. Maar probeer Dauntless zijn oplossing eens precies onder je eerste 3 regels. Als het goed is krijg je een type mismatch error :)
//Edit
Dus deze code bedoel ik dan:
var num1:Number = 0;
var num2:Number = 1;
var num3:String = num1.toString() + num2.toString();
num3 = Number(num3);
FlashElements
%Europe/Berlin %549 %2005, 14:11
met dit -->
var num1:Number = 1;
var num2:Number = 2;
var num3 = parseInt(num1.toString() + num2.toString());
trace(typeof(num3) + num3);
Dauntless
%Europe/Berlin %551 %2005, 14:14
Niet moeilijk doen :p :
var num1:Number = 0;
var num2:Number = 1;
var num3:Object = num1.toString() + num2.toString();
num3 = Number(num3);
Nah! :p
FlashElements
%Europe/Berlin %553 %2005, 14:16
jahaha met object kun je de compiler lekker alles wijs maken ... :p
Dauntless
%Europe/Berlin %554 %2005, 14:18
Zo ook :) :
var num1:Number = 0;
var num2:Number = 1;
var num3:Object = num1.toString() + num2.toString();
this["num3"] = Number(num3);
//edit, eigenlijk is deze bovenstaande methode alleen een 'wijs maken' methode... Die met datatype = object is gewoon 100% juist en het is ook logisch dat hij niet klaagt...
Roenes
%Europe/Berlin %699 %2005, 17:46
met dit -->
var num1:Number = 1;
var num2:Number = 2;
var num3 = parseInt(num1.toString() + num2.toString());
trace(typeof(num3) + num3);Zo kan ik het ook, gewoon geen datatype toekennen aan num3 ;)
En met Object kan ook, maar is in dit geval wat overbodig en ook niet zo netjes. Gewoon een extra var declareren waar je de string omzet naar nummer :)
LunchBox
%Europe/Berlin %602 %2006, 15:27
Maar dat komt niet overeen met het datatype dus zul je een foutmelding krijgen
het datatype wordt via Number(xx) "geconverteerd" van String naar Number dus krijg je helemaal geen foutmelding bij het compilen, je moet het gewoon niet opnieuw aan de string toekennen.. maar opnieuw converteren als je het opnieuw als string nodig hebt.
var num1:Number = 1;
var num2:Number = 2;
var num3:String = num1.toString() + num2.toString();
trace(Number(num3)-1); // geeft 11 weer met als datatype=Number
trace(String(Number(num3)-1)); // geeft 11 weer met als datatype=String
(kortom, de eerste oplossing was reeds voldoende) Die type mismatch error krijg je enkel als je dit doet:
num3 = Number(num3); (wat logisch is omdat num3 voorheen als String werd gedefinieerd) Waarom zou je dit overigens doen, als hij net naar een Number wil gaan.
--
edit: hele oude thread, maar kwam er ook maar via google op terecht.
Jimbooo
%Europe/Berlin %604 %2006, 15:30
Hahaha die Dauntless :P Beginnen je eigen foutjes je te irriteren? :P
-> Just kidding :P
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.