Är den metoden du nu använder inte tillräckligt bra? :o Om den funkar dvs?
I ASP finns bara, sekunder, minuter, timmar, dagar, månader och år. så du får ju helt enkelt ta reda på 100-delarna via en funktion som du själv skriver. :)
8 svar · 331 visningar · startad av Alamartimo
Har en fråga.
Jag ska slumpa fram minuter:sekunder.tusendelar (1:11.111)
Jag vill med hjälp av ASP få X antal sekunder (slumpas inom vissa värden som jag anger) att bli tid med följande format 1:32.123
Jag har lyckats slumpa fram det genom att köra 2 olika koder.
1. som slumpar fram minuter och sekunder.
2. sen har jag bara lagt en ny kod för att slumpa fram .123
Det är inte riktigt så jag vill ha det så min fråga är helt enkelt om det går att få fram tid på med tusendelar också.?
Vill kunna köra en kod för att slumpa fram det här.
Tack på förhand :)
Är den metoden du nu använder inte tillräckligt bra? :o Om den funkar dvs?
I ASP finns bara, sekunder, minuter, timmar, dagar, månader och år. så du får ju helt enkelt ta reda på 100-delarna via en funktion som du själv skriver. :)
Tja nää den är inte bra :(
Om jag vill slumpa låt säga ett värde mellan 50-51 sekunder (1 sekunds skillnad)
så kan det med min metod bli en skillnad på det som slumpas med 1.999s alltså nästa 2s pga av att jag först slumpar sekunden och sen tusendelarna.
Alltså en tid som blir mellan 50.000s och 51.999s
Någon som har ett förslag hur jag ska göra? :)
Jag har utgått ifrån den här koden:
Function getrndnr(lowbound, uppbound)
Randomize()
Getrndnr = INT(((lowbound)-(uppbound+1))*RND+(uppbound+1))
End Function
mins = GetRndNr(80,82)
seconds = mins
NewSeconds = seconds mod 60
Minutes = Int(seconds/60)
response.write Minutes & ":"
response.write NewSeconds & "."
Jag har försökt med att få in tusendelarna
mins = GetRndNr(80.000,82.000)
Men det funkar inte
Tja jag vet helt enkelt inte hur jag ska få till resten av funktionen så att jag får ut tusendelarna också. Om det över huvud taget går?
Kolla på CDbl:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsfctcdbl.asp
eller på CSng:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsfctcsng.asp
i stället för Int som du använder nu. (Trunkerar ju decimaltal)
Fick inte till det..
Men om man gör så här då:
Function getrndnr(lowbound, uppbound)
Randomize()
Getrndnr = CLng(((lowbound)-(uppbound+1))*RND+(uppbound+1))
End Function
mins = GetRndNr("1.10.000","1.11.000")
response.write mins
Resultatet blir då ex. 110563
Jag har letat och letat och undrar om det finns en funktion som gör att jag kan sätta : och . i detta värde så att det blir 1:10.563 ?
Tack för det @nders :)
Var lite fel på det och krånglade till allt :e
Löste det så här:
Function getrndnr(lowbound, uppbound)
Randomize()
Getrndnr = CLng(((lowbound)-(uppbound+1))*RND+(uppbound+1))
End Function
Tid = GetRndNr("1:10.000","1:11.000")
Tid = (Tid)
TidL = Left(Tid,1)
Tid = (Tid)
TidM = Mid(Tid,2,2)
Tid = (Tid)
TidR = Right(Tid,3)
Response.Write TidL & ":"
Response.Write TidM & "."
Response.Write TidR & "s"