Avatar billede Shasim Novice
13. februar 2004 - 11:07 Der er 17 kommentarer og
2 løsninger

Antal decimaler i tællefelt

Jeg har nogle værdier, som skal tælles sammen:

_root.carat += int(0.02*100)/100;

Det fungerer fint nok, men jeg vil gerne have at der ved et resultat skal angives 2 decimaler. Altså ikke "0.1" men "0.10".

Kan det lade sig gøre?

:) Shanne
Avatar billede lokum Nybegynder
13. februar 2004 - 12:05 #1
Kunne man ikke sige

if(_root.carat.length < 4) {
_root.carat = _root.carat+"0";
}
Avatar billede lokum Nybegynder
13. februar 2004 - 12:08 #2
Eller måske rettere:

antalDecimaler = _root.carat.split(".");
if(antalDecimaler.length < 2){
_root.carat = _root.carat+"0";
}

? ((o;
Avatar billede nikolajdu Nybegynder
13. februar 2004 - 12:15 #3
Her en lille omskrivning af noget barkund halløj så der også understøttes Actionscript 2.0

decimal = function(tal) {
    integer = Math.floor(tal);
    decimals = Math.round((tal-integer)*100)/100;
    twoDecimals = (decimals+0.00001).toString().substring(2,4);
    return integer+","+twoDecimals;
}
_root.carat = decimal(int(0.02*100)/100);
Avatar billede lokum Nybegynder
13. februar 2004 - 12:16 #4
ja, for mit virker ikke. )o:>
Avatar billede nikolajdu Nybegynder
13. februar 2004 - 12:17 #5
Jeg havde overhovedet ikke set dit :))
Avatar billede nikolajdu Nybegynder
13. februar 2004 - 12:19 #6
Understøttelse af actionscript 2.0 er ikke helt korrekt for det er ikke AS 2.0 - Men den her giver ingen fejl hvis man publisher som AS 2.0 (publish settings - flash)
Avatar billede nikolajdu Nybegynder
13. februar 2004 - 13:20 #7
Og så skulle det vidst lige være :

_root.carat += decimal(int(0.02*100)/100);
Avatar billede Shasim Novice
15. februar 2004 - 16:32 #8
Tak for forslagene. nikolajdu's giver følgende resultat efter optælling af 2 stk.: 0,020,02 ...?

:) Shanne
Avatar billede Shasim Novice
15. februar 2004 - 17:16 #9
Efter at have prøvet lokums forslag (det gav 00,02 og herefter 00,02,02 osv) havde jeg fået inspiration til nedenstående meget simple løsning, som faktisk virker.

if (_root.carat == 0.1){
    _root.antal_carat = _root.carat + "0";
    } else {
    _root.antal_carat = _root.carat;
    }

Så tak for hjælpen - jeg giver gerne points for jeres ulejlighed hvis I lægger et par svar.

:) Shanne
Avatar billede lokum Nybegynder
16. februar 2004 - 10:37 #10
Jeg havde forresten lige overset '+='. Men din løsning virker jo kun på 0.1, hvad så med 0.2 osv...?

Jeg får jo sjældent point, så her er et svar. ((o;
Avatar billede Shasim Novice
16. februar 2004 - 13:23 #11
Ja, så kunne man jo hægte lidt mere på:

if (_root.carat == 0.1) || (_root.carat == 0.2) || (_root.carat == 0.3){
    _root.antal_carat = _root.carat + "0";
    } else {
    _root.antal_carat = _root.carat;
    }

For de rigtige proff'er er denne løsning nok lidt for nem, men hvad - det virker jo.

Jeg venter lige lidt med at give points, da nicolajdu også skal have en chance for at få sin del af dem.

:) Shanne
Avatar billede Shasim Novice
16. februar 2004 - 13:24 #12
Ups!! Sådan:

if ((_root.carat == 0.1) || (_root.carat == 0.2) || (_root.carat == 0.3)){
    _root.antal_carat = _root.carat + "0";
    } else {
    _root.antal_carat = _root.carat;
    }
Avatar billede nikolajdu Nybegynder
16. februar 2004 - 14:13 #13
_root.carat = 0;
decimal = function(tal) {
    decimals = Math.round((tal-Math.floor(tal))*100)/100;
    return decimals;
}
_root.carat += decimal(int(0.02*100)/100);
_root.carat += decimal(int(0.02*100)/100);
_root.carat += decimal(int(0.02*100)/100);
trace(_root.carat)
Avatar billede nikolajdu Nybegynder
16. februar 2004 - 14:14 #14
De virker med hvad som helst.
Avatar billede nikolajdu Nybegynder
16. februar 2004 - 14:14 #15
de = den
Avatar billede Shasim Novice
16. februar 2004 - 14:19 #16
Ok - tak for hjælpen.

:) Shanne
Avatar billede nikolajdu Nybegynder
16. februar 2004 - 14:20 #17
tak for point :))
Avatar billede lokum Nybegynder
16. februar 2004 - 15:00 #18
Tak for point. Lidt ufortjent, men jeg var fandme den hurtigste!! he he... (o;
Avatar billede nikolajdu Nybegynder
16. februar 2004 - 15:59 #19
hoho :))
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