webForumDet fria alternativet

Kan man få tid som 1:32.123 med ASP?

ASP

8 svar · 331 visningar · startad av Alamartimo

Medlem sedan okt. 2004129 inlägg
Frågan#1

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 :)

Medlem sedan nov. 20014 054 inlägg
#2

Ä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. :)

Medlem sedan okt. 2004129 inlägg
#3

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? :)

Medlem sedan okt. 2004129 inlägg
#4

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?

Medlem sedan nov. 20017 144 inlägg
Medlem sedan okt. 2004129 inlägg
#6

Ahh jag ska kolla på det direkt.. :)

Tack så mycket

Medlem sedan okt. 2004129 inlägg
#7

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 ?

Medlem sedan juni 200032 967 inlägg
#8

Det finns (vad jag vet) ingen funktion för detta, utan du får köra lite strängmanipulering själv.

Kika lite på funktionerna Left(), Mid() och Right(), exempelvis hos devguru.

mvh

Medlem sedan okt. 2004129 inlägg
#9

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"
261 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)