Newsgroup: it.comp.lang.visual-basic
Titolo: Precisione nei calcoli

Oibò ... stavo lavorando sulle conversioni lira euro per
un progetto ... ma a prescindere da questo, visto il numero
di cifre elevato che mi serve, sto utilizzando per fare i calcoli
una variabile di tipo currency.
Bene, i calcoli li fa, però ho visto che il currency da un risultato
diverso dalla calcolatrice ... sia quella di windows che quella
normale che ha il tasto on off.
Credo che sia, il currency, più preciso (credo) rispetto alla
calcolatrice ....
Ora le domande sono tre ... è giusto?
Bene se è giusto, Il cliente che si vede per esempio un importo
sfallato di 3 lire ... o di 3 decimali ... (attenzione che non
sto parlando di conversione tra valute, ma solo di uno sconto
applicato su una valuta ...) ... che cosa pensate che mi dica?
Esempio. Valuta lire ...
Importo 26.666
- 50% di sconto
- 20% di sconto
- 10% di sconto
-5 % di sconto
= a 9.121 con il programmino e la variabile currency
= a 9.119 con calcolatrice windows e normale ...
Si può risolvere?
--
Saluti
Andrea MORO
***************************************
Per rispondere togliere ET dal messaggio prima
della chiocciola.

 = a 9.119 con calcolatrice windows e normale ...
Beh, dato che calcolatrice e double sono concordi (usano entrambe gli stessi
algoritmi) ti direi di usare quella: anche se i in realtà conti sballano
nessuno se ne accorge.
Praticamente parlando non ho mai capito il senso dei currency: gestiscono un
massimo di 4 decimali e in realtà sono degli interi scalati (interi con il
"." in mezzo).
Sono un po' limitati...
Usa dei Double e non dovresti avere problemi come ad es. il semplicissimo:
Debug.Print CDbl(1.33335), CCur(1.33335)
Ciao
--
Questa è una risposta ritenuta inutile e maleducata da alcuni partecipanti.
(Campagna contro l'abuso del NewsGroup)
(Per informazioni: 
http://www.it-lang-vb.net/docs/Manifesto.txt
)

Bah il mio problema è di lunghezza ... non mi ricordo
perchè ma mi pareva di aver fatto due conti e mi
sembrava di ricorda (perchè così avevo scritto
nel codice) che non potevo usare più di nove digit.
Il problema è che al mio cliente 9 digit stanno strette
perchè fattura miliardi.
Non mi ricordo se poi avevo provato con il double ..
Ma di tutta sta cosa ... quando vedo scritto nell'help
che può gestire numeri da me 4,ecc ecc a 1,ecc ecc
e ci trovo quella E in mezzo che indica esponenziale ...
francamente non ci ho capito un tubo.
E' vero che la matematica non è il mio forte ... però
se fossero stati più chiari.
Qualcuno mi aiuta a capire sta cosa dell'esponenziale
che vuol dire?
Facile che il double sia il tipo di dato di cui ho
bisogno ...
Ciao Andrea

 perchè fattura miliardi.
Miliardi di euro?
Complimenti...

 perchč fattura miliardi.
In effetti mi sembrava che la guida fosse piů chiara :(
I double gestiscono fino a 15 cifre, dando la precedenza agli interi.
Quando si superano le 15 cifre si iniziano a vedere le E, poichč non ci
stanno piů dentro :)
es.
11111111111.1234567       -> 11111111111.1234
1111111111111.1234567     -> 1111111111111.12
111111111111111.1234567   -> 111111111111111
11111111111111111.1234567 -> 1.11111111111111E+16
Ciao

 ha scritto

potrebbero essere rubli.
ora vanno di moda.
o dinari.
a pola, per terra nell'anfiteatro, devo averne trovati circa 200k.
non bastavano per una coca (cola).
j.rossja

 ha scritto nel messaggio
news:2ArI8.15319$ie.3...@twister2.libero.it...


Emmm .... sarò tordo ... ma eppure sta E ancora
non mi calza.


 perchè fattura miliardi.
Tienitelo stretto ;-)
Un Paperino che quella birra (o caffè che fosse) ti aspetta ancora.

 della chiocciola.
e poi chi telefona casa ?

 non mi calza.
Tagliando corto, se servono piů di 15 numeri interi (999.999.999.999.999) ti
mette la E perchč non riesce a rappresentare un numero maggiore per intero
(es. 1E15 = 1.000.000.000.000.000: 1 con 15 zeri: 1 * (10 ^ 15)).
Praticamente,
- se ti bastano 999.999.999.999.999 di lire (con 0 decimali)
- se ti bastano 999.999.999.999,999 di boh (con 3 decimali)
- se ti bastano 9.999.999.999,99999 di boh (con 5 decimali)
ti bastano i double e eviti errori di calcolo.
Ciao

 ha scritto nel messaggio
news:DpvI8.94106$zW3.1...@news1.tin.it...


Anche tu hai ragione ...
il problema č che adesso non lavoro nemmeno piů a
Pescara ... lavoro a casa ...
ogni tanto ci passo a Pescara ... ma il problema grosso
č che tu fai degli orari talvolta strani per quando passo
io.
Poi non mi ritrovo nemmeno piů il tuo tel.
Se mi scrivi in e-maiala ... vediamo di combinare il
caffč ... mica per niente ... č che sono astemio ;)))


 Se mi scrivi in e-maiala ... vediamo di combinare
OK :-) Appena ho un minuto, piů tardi.
Bye, G.