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
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
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.