Ottenere un numero random in ASP non è affatto un'impresa, basta avvalersi di una funzione nativa di VbScript e con un paio di accortezze possiamo definire anche il range numerico in cui vogliamo che la nostra funzione recuperi il valore.
Il codice finale è il seguente:
<%
Dim limite_superiore,limite_inferiore
limite_superiore = 1000
limite_inferiore = 1
Randomize()
numero_random = CInt((limite_superiore - limite_inferiore + 1)*Rnd() + limite_inferiore )
response.Write numero_random
%>
Nel codice di esempio di cui sopra possiamo osservare che è stata utilizzata la funzione Randomize() la quale, servendosi del timer di sistema, fa in modo che l'output generato da Rnd() risulti un valore casuale compreso tra 0 e 1 evitando che venga restituito un numero apparentemente random ma che in realtà è sempre lo stesso ad ogni richiesta (0.7055475).
La funzione cInt() ha lo scopo di convertire il numero decimale generato in un numero intero ed i limiti (superiore ed inferiore) definiscono il range di azione.
Nell'esempio in questione, ad ogni esecuzione, il numero verrà selezionato casualmente tra 1 e 1001.
I campi di applicazione sono i più disparati.
In ambito web potrebbe essere molto utile utilizzare la funzione per effettuare un A/B test al fine di mostrare all'utente una pagina piuttosto che un'altra e trarre successivamente le proprie considerazioni in termini di usabilità, efficacia, conversione, ecc...
Di seguito il suo impiego per l'esempio appena descritto:
<%
Dim limite_superiore,limite_inferiore
limite_superiore = 1000
limite_inferiore = 1
Randomize()
numero_random = CInt((limite_superiore - limite_inferiore + 1)*Rnd() + limite_inferiore )
if cint(califfone) <=500 then
'mostra la versione 1 della pagina
else
'mostra la versione 2 della pagina
end if
%>
Nessuno ha ancora commentato questo articolo, fallo tu per primo!
Scrivi un Commento