Newsgroup: it.comp.www.asp
Titolo: Limitare le cifre decimali.

http://www.morethanwords.it/files.asp
In questa pagina lo script calcola la dimensione di ogni file e di tutta la
cartella e la divide per 1024, scrivendola in KB, e ulteriormente per 1024
(se necessario) scrivendola in MB.
C'è un modo per limitare le cifre decimali?
Quello che fa è sostanzialmente questo:
if file.Size < 1024*1024 then
 response.write file.Size/1024
 response.write " KB."
else
 response.write (file.Size/1024)/1024
 response.write " MB."
end If
Grazie, Simone.

>C'è un modo per limitare le cifre decimali?
formatnumber(variabile, numerodecimalidesiderati,
altriargomentiopzionalichenonricordo)
-- 
non studio non lavoro non guardo la tv
non vado al cinema non faccio sport

Detto cosě mi aiuta pokino... ;-)))
Me lo potresti mostrare inserito nel frammento di codice del primo post? Te
ne sarei infinitamente grato!!
Sono un principiantissimo di asp, perdonami.
Simone.

Ok tutto a posto, sono riuscito.
La sintassi č formatnumber(numero, cifredecimali) non servono altri
parametri.
Ciao, Simone.

ne sarei infinitamente grato!!
visto che sei un principiante vorrei darti un consiglio.
probabilmente tu sviluppi le pagine testandole con pws (personal web
server).  purtroppo per default quando lo installi pws non installa la
documentazione on line, che è utilissima e pratica, ma che pesa circa
65 mega, che quando pws fu scritto erano ancora un bel po' di roba.
adesso fanno ridere.
il mio consiglio quindi sarebbe quello di prendere il cd dove hai pws
(tipicamente sta nella cartella add-ons da w98 in poi) e
installartela.  tra le varie cose c'è una guida di riferimento in
ordine alfabetico delle funzioni di vbscript visualizzabile tramite
browser.  io me la sono anche bookmarkata.  provo a fare un copia
incolla di quello che dice di formatnumber:
FormatNumber(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit
[,UseParensForNegativeNumbers [,GroupDigits]]]])
The FormatNumber function syntax has these parts:
Expression 
Required. Expression to be formatted. 
NumDigitsAfterDecimal 
Optional. Numeric value indicating how many places to the right of the
decimal are displayed. Default value is -1, which indicates that the
computer's regional settings are used. 
IncludeLeadingDigit 
Optional. Tristate constant that indicates whether or not a leading
zero is displayed for fractional values. See Settings section for
values. 
UseParensForNegativeNumbers 
Optional. Tristate constant that indicates whether or not to place
negative values within parentheses. See Settings section for values.  
GroupDigits Optional. Tristate constant that indicates whether or not
numbers are grouped using the group delimiter specified in the control
panel. See Settings section for values.  
veniamo al tuo codice.  intanto ti suggerisco una modifica: invece di
fare riferimento tutte le volte alla proprietà size dell'oggetto file,
scrivila in una variabile.  in questo modo accedi al disco fisso una
volta sola e non stai a sfrucugliare troppo con gli oggetti.  i tempi
di accesso saranno inferiori, consumerai meno memoria ecc..  chiaro
che stiamo parlando di spiriliardesimi di secondo in più o in meno che
non fanno nessuna differenza, ma è meglio cominciare ad acquisire
subito questa mentalità "spilorcia" nei confronti delle risorse di
sistema per applicarla quando dovremo trattare progetti più grossi.
per cui:
dim DimensioniFile
[settaggio dell'oggetto file]
DimensioniFile = file.Size 
if DimensioniFile < 1024*1024 then
 response.write formatnumber(DimensioniFile/1024, 2)
 response.write " KB."
else
 response.write formatnumber((DimensioniFile/1024)/1024, 2)
 response.write " MB."
end If
in entrambi i casi avrai 2 decimali.
magari ti può anche interessare sapere che se invece che / usi \ nella
divisione, il risultato sarà senza decimali.


Wow grazie! :-)
So bene cosa vuol dire limitare le risorse, studio Ingegneria Informatica...
:-)
Il discorso è che il file deve accecedere a files in una cartella del
server, non del disco fisso, e c'è un ciclo che va a vedere la size di ogni
file della cartella... quindi non so se è conveniente metterla in una
variabile...
La soluzione di codice che mi hai dato è la stessa cui ero pervenuto
anch'io! Buon segno :o)
I parametri successivi non credo mi serviranno mai, e un paio di cifre
decimali fanno sempre comodo nella dimensione dei files, perchè (non per me
che ho adsl), ma per un 56k 1,12 MB e 1,96 MB sono cosa ben diversa, e
vedere scritto solo 1 può trarre in inganno sui tempi.
Cmq, questo script è online nella pagina dei downloads di
http://simonecam.cjb.net
, magari così mi dai anche un giudizio complessivo!
Grazie per l'aiuto!
Simone.

variabile...
be', in ogni caso accedi a quella proprietà almeno due volte, una
nella riga dell'if e una quando la vai a scrivere... tanto vale
accedervi una volta sola e schiaffarla subito in una variabile...  


Hai ragione! La riga dell'if non l'avevo calcolata :-)
Grazie di tutto.
Simone.