Newsgroup: it.comp.aiuto
Titolo: operazione visual-basic

come si tronca un numero risultante da una operazione in visual-basic?
grazie in anticipo.

 grazie in anticipo.
x = int (y) toglie i decimali ma dovresti essere
piu' preciso. Penso tu intenda parlare di decimali
x l'Euro e allora la funzione migliore e' Round (x).
Bye...
________________________________________
James Tiberius Kirk, matricola SC 937-076 CEC
  Nato a Riverside, nello Iowa, USA, Terra
            il 1277.1 (26/03/2233)

ciao... hai ragione,
in pratica ho l'esigenza di dover - troncare - ad un certo numero di
decimale anzichč approssimare (round), la cifra risultante da un determinato
calcolo.
grazie ancora.
Diego

 calcolo.
Con un minimo di aritmetica ci si arriva.
Basta moltiplicare per 10 elevato il numero di decimali da troncare,
poi applicare la funzione INT e infine ridividere per 10 elevato il
numero di decimali.
Per esempio, se il numero è un importo in Euro:
Euro = 12.6789
Euro = INT (Euro * 100) / 100
Print Euro
Questa istruzione tronca alla seconda cifra decimale,
e il risultato sarà 12.67
--
Er Roscio.

GRAZIE 1000 ROSCIO,
ci sono riuscito anche se non serviva per l'euro ma per calcoli
posso dire più grandi di me!! visto anche le mie conoscenze in campo....
Ora non vorrei approfittarne, ma mi servirebbe un'altro piccolo aiutino
magari anche facile ma per me impossibile.
Ho provato in tutti i modi a leggere nell' help....ma niente.
Sto calcolando la variazione di Densità al variare della Temperatura...
fin qui tutto bene (con l'aiuto del libro) ma quando mi si domanda di
eseguire l'intera serie di calcoli n° volte.... mi viene sangue da naso.
Ho capito che ha a che fare con For...Next ma non ci riesco proprio.
In pratica, devo far fare 10 giri ad una porzione della funzione,
sostituendo
ogni volta in testa, il risultato dell'operazione appena conclusa.
Meglio se me lo dici con un esempio (se avrai voglia e tempo)
comunque grazie.
Diego

 sostituendo ogni volta in testa, il risultato dell'operazione appena
conclusa.
Quest'ultima cosa non č chiara... cos'č che devi ripetere ?
E il risultato dell'ultima operazione diventa l'input della prossima ?...
Comunque ti faccio un esempio che potrebbe non essere calzante,
ma che ti puň aiutare.
Mettiamo di dover calcolare "a mano" il fattoriale di un numero.
(ricordo che n! - che si legge "n fattoriale " - č uguale a n * (n-1) *
(n-2) ... * 2 * 1)
' Calcolo del fattoriale di N
N = 25
Fatt = 1
For i = 1 to N
   Fatt = Fatt * i
Next i
In questo modo, ad ogni ciclo, il nuovo valore di Fatt
viene moltiplicato per i (che viene incrementato di 1
ad ogni passaggio fino ad arrivare ad N)
Da notare che Fatt viene impostato ad 1, altrimenti moltiplicando
qualunque numero per 0 si otterrebbe sempre 0.
--
Er Roscio.

ancora una volta ti ringrazio...
... adesso ci provo e vedremo
ciao
diego

niente da fare....
sono vicino ma qualcosa non va...
volendo fare un esempio potrei dire:
funzione "x3" con due variabili (A e B)
supponendo a= 3  e B =1
x1= A * B                    (3)
x2= x1 * 2                   (6)
x3= x1 + x2                 (9)
risultato del primo giro = 9
prossimo giro sostituire x2 (6) al posto di A quindi:
x1= A(6) * B           (6)
x2=x1 * 2                (12)
x3= x1 + x2             (18)
prossimo giro sostituire ancora x2 (12)  ad A....
e cosě il terzo, quarto giro, ecc.....
Impossibile o no?

 Impossibile o no?
In programmazione conviene sempre fare le cose
semplici, per poi capirci in seguito, quando si dovrà
ritoccare il programma a distanza di tempo.
Nel tuo caso, basta fare un loop "infinito" (vedrai tu
come e quando interromperlo) ed assegnare, ad ogni
giro, il nuovo valore di x2 ad A:
'--------------------------------
A = 3
B = 1
Do
   x1 = A * B
   x2 = x1 * 2
   x3 = x1 + x2
   A = x2
Loop
'---------------------------------
Ovviamente, devi aggiungere delle istruzioni per stampare
o utilizzare gli eventuali risultati intermedi e determinare
i criteri per l'uscita dal loop.
Ciao,
--
Er Roscio.

niente da fare ....getto la spugna
... comunque grazie lo stesso
ciao

ciao
	Ciao
Non buttarla !!! Roscio ti ha dato la soluzione !!
A = 3
B = 1
Do
   x1 = A * B
   x2 = x1 * 2
   x3 = x1 + x2
   A = x2
Loop
	Se non ti piace il DO LOOP  puoi modificarla cosi'
A = 3
B = 1
 FOR I=1 to 10
   X1 = A * B
   X2 = x1 * 2
   X3 = x1 + x2
   A = X2
 Next I
print X1,X2,X3
	...e abbi fede !!!!
	Ciao Giorgio