Newsgroup: it.comp.lang.visual-basic
Titolo: [!] Double vs Currency

Non mi č piaciuto molto il tono con cui si da del deficiente a chi usa i
double per i soldi.
Potrei essere d'accordo nel merito tecnico sui double, ma adesso qualcuno mi
spieghi come si fa con i decimal a fare i conti in euro con *5* decimali.
Perchč cosě andrebbero fatti, ed č cosě che comunque spesso servono.
Quindi, andiamoci piano con queste cose.
Ciao
--
Math Parser : 
http://www.neodatatype.net
Sito Comune : 
http://www.it-lang-vb.net

 Perchč cosě andrebbero fatti, ed č cosě che comunque spesso servono.
Moltiplichi e dividi per 10!
:-)
A parte gli scherzi (ma non troppo), ma escludendo casi particolari, 
(scatti telefonici, o prodotti che costano frazioni di centesimo, credo 
che 2 cifre decimali siano sufficienti ...
ciao
	maxx
-- 
NOSPAM: Rimuovere i trattini dallo username!
Cut hyphens from my username!

 che 2 cifre decimali siano sufficienti ...
Allora vai tu dai miei clienti a dire che i suoi prodotti costano 0.0000
euro perchè tanto nella maggior parte dei casi basta un 0.01? :)
Forse sarebbe ben contento di far pagare 0.01 euro, un po' meno tutti quelli
che vogliono vestirsi con meno di 10.000 euro a camicia.


 
Ti autorizzo ad usare i double, anzi usa i long double! :-)


 con *5* decimali.
Di solito ero interfacciato con il dbms, e facevo fare a lui, ora sono
passato a .Net e non ho più il problema..
-- 
Ale
E` in corso la CFV per per
*it.comp.programmare.dotnet*,
Si può leggere il manifesto su
_it.news.annunci_ o _it.news.votazioni_

 che 2 cifre decimali siano sufficienti ...
Escluso, per valori unitari, escluso anche in una normale azienda di
produzione. Almeno 5.


Mi ripeto: dipende da che prodotti si devono gestire:
un'azienda che produce profumi o scarpe ha sicuramente bisogno di 5 
decimali, una che li distribuisce o li vende no, perche' una scarpa o un 
profumo non costano 0,00001 euro.


 profumo non costano 0,00001 euro.
Parlavo di "azienda di produzione", appunto...
Ma ... chi vende (senza produrre), magari all'ingrosso... bottoni, aghi,
viti, filo, cavi a metratura, minuteria di basso costo... ?
Io credo che, in ogni settore e per i valori unitari, i due decimali siano
insufficienti. Almeno 3.
Non per nulla: il centesimo di euro corrisponde a circa 20 delle vecchie
lire. Possono essere molte...

 lire. Possono essere molte...
Aggiungo: Già da prima gestivo (mica perchè me lo son sognato, lo volevano)
almeno i decimi (se non i centesimi) di lira. Mi riferisco sempre ai valori
unitari.


Si vede che i miei clienti sono "strani" ...
I miei preferiscono arrotondare all'euro piu' vicino ... :-)
A me nessuno ha mai chiesto ne' i decimali di lira e per ora nemmeno di 
euro, ma dipende dal tipo di clientela. A quanto pare non ci facciamo 
concorrenza ... ;-)


 concorrenza ... ;-)
ci credo. gli lasci giusto gli spiccioli :)

 sempre ai valori unitari.
Aggiungo io che in un software per un ente statale (capitoli di bilancio,
perizie et similia) al tempo della lira mi chiesero la gestione
dell'arrotondamento alla 5a cifra decimale, e durante l'analisi mi
mostrarono anche in base a quale non ricordo se legge, regolamento, parere o
quant'altro..


 Ti autorizzo ad usare i double, anzi usa i _long double_! :-)
Azz, questi mi mancavano..
-- 
Ale
E` in corso la CFV per per
*it.comp.programmare.dotnet*,
Si puň leggere il manifesto su
_it.news.annunci_ o _it.news.votazioni_

 Azz, questi mi mancavano..
sono lunghi il doppio.

 A quanto pare non ci facciamo concorrenza ... ;-)
Scommettiamo che lunedi qualcuno ti chiama?
Lupo.Gufo... ;-)

 Lupo.Gufo... ;-)
l'ufo ?

 l'ufo ?
No, L'UpPOGrUFO.
http://www.linguaggioglobale.com/mostri/txt/145.htm

 usa i double per i soldi.
Solo per precisazione: il mio appunto era legato alle osservazioni che il
tipo aveva fatto sul comportamento del Double, fatto che denotava che non
aveva la più pallida idea di cosa fosse un double, eppure si permetteva di
dare giudizi, anche pesanti, su VB e indirettamente su chi aveva scelto tale
ambiente di sviluppo per cose 'serie'.
Non mi permetterei mai di criticare la scelta di un tipo anzichè di un
altro, quando questo si adegui alle esigenze specifiche di un problema.
Però, se si sceglie un determinato tipo, occorre essere consapevoli di
vantaggi e svantaggi.
Per il tuo quesito, considera questo:
Io considero sempre due cose molto distinte la memorizzazione di un dato e
la sua visualizzazione.
In nessun passaggio dei miei applicativi una stringa diventa numero o
viceversa senza passare attraverso una funzione di formattazione o di
interpretazione del valore.
Con tale approccio, qualunque valore decimale può tranquillamente essere
memorizzato in un long. Basta che, in fase di visualizzazione, la stringa
ricavata venga completata inserendo un punto (o una virgola), come
quintultimo carattere. Viceversa in interpretazione.
Ciao
Alberto