L’asp (VBScript) non rende disponibile in maniera nativa una funazione floor(), per funzione floor intendiamo una funzione che prende un numero e restituisce un intero se il numero è intero oppure elimina la parte decimale e restituisce l’intero.
Ad esempio:
floor(5.3) => 5 floor(7) => 7
Andiamo quindi a realizzare autonomamente queste funzione:
function floor(numero)
if not(isNumeric(numero)) then
floor=0
else
cnt=0
do while numero>=1
numero=numero-1
cnt=cnt+1
loop
floor = cnt
end if
end function
Il funzionamento è molto semplice, l’unica cosa che vorrei far notare è la linea:
if not(isNumeric(numero))
Cioè prima di produrre il risultato controlliamo se il parametro passato (numero) è un valore numerico, se così non fosse restituiamo 0 come valore della funzione.
Per fare dei test, possiamo scrivere:
response.Write(floor(12.39))
'stamperà 12
response.Write(floor(7))
'stamperà 7
response.Write(floor("gino"))
'stamperà 0