Avatar billede donslund Nybegynder
13. februar 2002 - 10:57 Der er 13 kommentarer og
1 løsning

Decimaler i flash

Hvordan sikrer jeg mig foreksempel at der altid er 3 decimaler i min flashffilm.

onClipEvent (load) {
    endTime = getTimer ();
    usedTime = ((endTime-startTime)/1000);
}

Ovenstående giver mig jo min sluttid i sekunder men med forskellig decimal hele tiden. Man må kunne skrive et eller andet smart, så den giver 3 decimaler hver gang.
Avatar billede donslund Nybegynder
13. februar 2002 - 11:01 #1
Hov der mangeler jo noget ...

Koden giver mig min sluttid i sekunder, men med forksellig antal decimaler fra gang til gang. Jeg vil gerne lægge den fast på tre.
Det må man kunne kode sig ud af uden de store problemer.
Avatar billede Slettet bruger
13. februar 2002 - 11:03 #2
Avatar billede donslund Nybegynder
13. februar 2002 - 11:27 #3
Det kiggede jge på og fik følgende ud af det:

onClipEvent (load) {
    endTime = getTimer();
    Math.roundTo = function (num, dp) { var d = Math.pow(10, dp);return;Math.round(num*(d+0.00000001))/d;};
    usedTime = Math.roundto(((endTime-startTime)/1000), 2);
}

Men det lader ikke rigtgi til at virke.
Hvad gør jeg dog forkert?
Avatar billede donslund Nybegynder
13. februar 2002 - 11:56 #4
Men det lader ikke til, at det virker.
Avatar billede Slettet bruger
13. februar 2002 - 12:36 #5
Når du skriver 3 decimaler, mener du 3 cifre efter kommaet  som
3.114 - 25.467 - 1059,606 osv  osv. eller mener du i virkeligheden at der skal være 3 cifre ??

- ellers hvad er problemet ?? - nu kan jeg ikke se hvor du specificerer din 'startTime' men jeg går ud fra at den del fungerer...
Avatar billede donslund Nybegynder
13. februar 2002 - 13:58 #6
Jeg vil have 3 cifre efter kommaet, ja.
Min timer virker upåklageligt, det er udelukkende cifrene efter kommaet jeg vil lave om på.
Avatar billede Slettet bruger
13. februar 2002 - 14:05 #7
Ok - jeg skriver lige et eksempel der er tilpasset dit script - et øjeblik -
Avatar billede Slettet bruger
13. februar 2002 - 14:18 #8
Her er en metode der altid giver output med 3 decimaler uanset om tallet er et heltal eller ej.
http://www.flashfaq.dk/spg.asp?faq=136
Du skal selv lige flytte rundt på startTime, den har jeg bare defineret i samme script for at tjekke om det virkede...
Du kan tjekke scriptet ved at omskrive
endTime = getTimer(); + antal millisekunder
Avatar billede donslund Nybegynder
13. februar 2002 - 14:23 #9
Det var dejligt. Tak for hjælpen.
Avatar billede baitianlong Nybegynder
14. februar 2002 - 00:48 #10
Jeg har tidligere fået dette script af en "hjælpende hånd" her på eksperten... -Det er formodentlig hvad du har brug for.

if (length(usedTime) == 2){
    usedTime = usedTime+".000";
    break;
    } else if (length(usedTime) == 3 && usedTime < 10){
    usedTime = usedTime+"00";
    break;
    } else if (length(usedTime) == 4 && usedTime < 10){
    usedTime = usedTime+"0";
    break;
    } else if (length(usedTime) == 4 && usedTime > 10 && usedTime < 100){
    usedTime = usedTime+"00";
    break; 
    } else if (length(usedTime) == 5 && sek > 10 && sek < 100){
    usedTime = usedTime+"0";
    break;
    }else if (length(usedTime) == 6 && usedTime > 100 && usedTime < 1000){
    usedTime = usedTime+"0";
    break;
}


-Smart ikke ???
Avatar billede Slettet bruger
14. februar 2002 - 10:10 #11
Det kunne blive smart  :-)

Men der er et par 'bugs' i det
- Begrænsning på  6 cifre svarende til 16.7 min. ved brug ved tidsregning
- Kan ikke bruges til lange decimaltal, f.eks 1.2345 giver output på 4 decimaler
- Skriver du f.eks '1' bliver outputtet '1' og ikke '1.000'
- Skriver du et heltal på 3 cifre, f.eks 123 er det samme problem.
- Scriptet afrunder ikke tallet til 3 decimaler, men tilføjer blot 0'er...

Men ellers er det da meget godt ;-)
Avatar billede donslund Nybegynder
15. februar 2002 - 10:58 #12
Diktator - Hvis du vil have pointene (der er gdt nok ikke ret mange) må du lige poste et svar. Ellers tager jeg dem sgu selv :-)
Avatar billede Slettet bruger
15. februar 2002 - 11:19 #13
Behold dem bare, -det kan være du får brug for dem senere  ;-D
Avatar billede donslund Nybegynder
15. februar 2002 - 23:54 #14
Okay - Tak, det gør jeg sikkert :-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester