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
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
13. februar 2004 - 12:05
#1
Kunne man ikke sige if(_root.carat.length < 4) { _root.carat = _root.carat+"0"; }
13. februar 2004 - 12:08
#2
Eller måske rettere: antalDecimaler = _root.carat.split("."); if(antalDecimaler.length < 2){ _root.carat = _root.carat+"0"; } ? ((o;
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);
13. februar 2004 - 12:16
#4
ja, for mit virker ikke. )o:>
13. februar 2004 - 12:17
#5
Jeg havde overhovedet ikke set dit :))
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)
13. februar 2004 - 13:20
#7
Og så skulle det vidst lige være : _root.carat += decimal(int(0.02*100)/100);
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
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
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;
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
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; }
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)
16. februar 2004 - 14:14
#14
De virker med hvad som helst.
16. februar 2004 - 14:14
#15
de = den
16. februar 2004 - 14:19
#16
Ok - tak for hjælpen. :) Shanne
16. februar 2004 - 14:20
#17
tak for point :))
16. februar 2004 - 15:00
#18
Tak for point. Lidt ufortjent, men jeg var fandme den hurtigste!! he he... (o;
16. februar 2004 - 15:59
#19
hoho :))
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.