Una funzione floor in Asp

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