Hmm ja hvis "00001000" er gemt som et tal ved jeg det faktisk ikke, men hvis det er en streng og du ved den altid vil indeholde 4x0 i begyndelsen kunne du gøre noget lign:
var tal_str:String="00001000"; var tal:Number=Number(tal_str.substr(4,length(tal_str))); //tag fra position 4 til det sidste bogstave i tal_str og omdan resultatet til et nummer trace(tal);
Men hvis det derimod er af datatypen tal ved jeg ikke lige hvad der er at gøre, da 00001000 bliver til 512 selv når den laves om til en string jeg må ærlgit indrømme jeg ved ikke hvorfor den gør det
Jo det var også det jeg tænkte fordi ellers vil den blive en eller anden helt anden værdi,, så derfor kommer her en mulig løsning lige testet:
var tal_str:String="001000"; for (var i:Number=0;i<length(tal_str);i++) { //løb gennem bogstaverne i strengen if (tal_str.charAt(i)!=0) { //hvis den vi er nået til at forskellig fra 0 var chop:Number=i; //gem position i chop break; //afslut løkke } } trace(Number(tal_str.substr(chop,length(tal_str)))); //udskriv den som nummer start ved chop og gå til enden af strengen
Hvad der er endnu mere underlgit at hvad flash retunerer hvis man prøver at lave 0001000 eller bare 01000 som et nummer, hvor får den lige 512 fra? nå det er måske bare mig der synes det er meget underligt, selvfølgelig ved jeg godt at man ikke kan ha et nummer der hedder 01000 men hvad med 05,00 hvis man nu snakkede kr og gerne vil regne på det,, men oh well, nu har vi da en funktion til at fikse det
Ja, parsefloat virker egenlig fint, synes ellers jeg havde testet det, men så er der da ingen grund til de store voodoo metoder så længe tallet er en streng selvfølgelig
grafik-anders, du ser bare bort fra mit svar og ber en af de andre om et svar i stedet, selvom min voodoo løsning virker vil jeg ikke ha point for sådan noget, det skal sku laves ordenligt
Det er bare i orden, hovedsagen er du har fået den bedste løsning fra erikjacobsen og thulstrup, og samtidig har jeg lært noget nyt om Flash, det er rigelig belønning for mig, hvorfor er det at vi "nørder" altid har det med at kaste os ud i den mest besværlige løsning?? :D ja sådan har jeg det i hvert fald ofte
Kan i ha en god aften, tror min hjerne skal til soveland
Det fede er jo netop at man kan sidde og rive hår ud af hovedet, fordi et eller andet ikke virker, hvor det BURDE virke. Den frustration gør at man tænker kreativt, for at finde en anden teknisk løsning. Det er heller ikke sikkert at den anden løsning fungerer, men når man først får hul på det og det lykkes - så er det cool! Alle de timer jeg har brugt på at bande flash langt væk, med dens små særheder og indimellem også fejl, der har gjort at ens virkelighedsopfattelse smuldrede... hehe, åååh... those memories. ;-)
parseFloat er til at parse kommatal i det decimale talsystem. parseInt er til at parse heltal i et vilkårligt talsystem:
var tal:Number = parseInt("000010000", 10);
Problemet med Number-konverteringsfunktionen er, at normalt vil tal starterende med et 0 skulle evalueres i det oktale talsystem. Men med parseInt kan man angive, i hvilket talsystem, cifrene skal tolkes.
Ville jeg bare lige pointere, hvis nogen stadig var i tvivl (selvom i vist har fået dækket det hele).
Og det og meget andet ville du faktisk kunne læse i min bog[1] - specifikt i kapitel 4 om simple datatyper. :)
En anden gang kan du bare lægge et svar selv og acceptere det så ryger points tilbage til dig,
Som sagt er jeg ikke vild med at modtage point for min kvaksalver løsning, så hvis du vil kan jeg oprette et spørgsmål med point tilbage til dig, selvfølgelig helt op til dig
Og ja Lars, et sådan system ville være lækkert, men det sker jo nok aldrig, og ps, lækker side du har fået strikket dig sammen.
Fortsat god dag Martin
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.