Newsgroup: it.comp.lang.vo-clipper
Titolo: Funzione VAL()

Cari amici, oggi mi è capitata una cosa alla quale non avevo pensato
riguardante la funzione VAL(). Ve la espongo in quanto può darsi che
qualcun'altro di voi non ne abbia tenuto conto. E' molto semplice:
un'espressione del genere
? VAL( "123,456" )
dà come risultato 123, mentre magari uno si aspetta che dia 123.456.
Purtroppo invece la virgola non viene riconosciuta automaticamente come
punto decimale (almeno in Clipper). Quindi attenzione...
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg


In Vo 2.5b3 la funzione VAL() restituisce anche i decimali, a patto che
questi siano stati previsti, ovviamente!
                Francesco

 questi siano stati previsti, ovviamente!
Forse mi sono spiegato male. Non è che la funzione VAL() in Clipper non
tenga conto dei decimali. Infatti
? VAL( "123.456" )
dà il risultato corretto di 123.456. Ma invece
? VAL( "123,456" )
(nota la virgola al posto del punto) dà come risultato 123. Credo che
questo sia vero in qualunque linguaggio (e quindi qualcosa da tenere
presente), o no?


 EMG
Per VO questa differenza non c'è, se io scrivo Val("123,456") oppure
Val("123.456"), per lui è lo stesso e mi restituisce SEMPRE il valore
corretto.
Non tutti i linguaggi sono uguali..........Quindi per chi usa VO......state
pure tranquilli!!!

 corretto.
Uhm... la cosa mi suona strana. Che forse possa dipendere da un qualche
tipo di "localizzazione"? Probabilmente VO, girando in ambiente Windows,
prende le impostazioni internazionali della macchina dove č installato
mentre Clipper, essendo un compilatore per DOS, non puň ovviamente farlo
e forse si dovrebbe invece utilizzare uno degli OBJ di localizzazione
forniti con esso (che io perň non ho mai utilizzato) e che riguardano
piů che altro l'ordinamento seguito negli indici. Non so se regolano
anche l'utilizzo del simbolo rappresentante il punto decimale.


 anche l'utilizzo del simbolo rappresentante il punto decimale.
Mi sembrerebbe strano, non ho mai sentito niente a riguardo, tieni conto
che non si riesce neanche a localizzare i campi boolean con la get,
almeno io non ci sono riuscito, con la get le opzioni sono sempre 'Y'/'N'
oppure 'T'/'F'
Ciao...
Claudio Driussi
http://www.swit.net/csoft
mailto:
cldr...@swit.net

 oppure 'T'/'F'
Io ho sempre utilizzato delle simil-checkbox fatte con campi da un solo
carattere nei quali mettevo alternativamente (alla pressione della barra
spaziatrice) uno spazio e un carattere di spunta.



A me é capitato quando creo da foglio EXCELL un database (con tutti i campi
in formato stringa) e in seguito li trasformo in numerici.
Ho ovviato così:
C1 := Transform(NOMECAMPO,",",".")
C1 := VAL(C1)
Ciao,
     Fabrizio Malaguti

 C1 := VAL(C1)
Si, certo. Bene. Il problema di queste piccole cose, comunque, non č la
loro soluzione bensě l'accorgersi in tempo della loro esistenza...


 ha scritto nel
messaggio news:3C3CB45B...@emagsoftware.it...


 carattere NON NUMERICO, e la virgola non fa parte del suo formato numerico.
Si, è così. Ma prima non avevamo a che fare con gli importi con la
virgola... :-)
