PDA

Visualizza versione completa : [VB6] Arrotondamento Condizionale


Jamester
03-07-2009, 13.28.31
Buongiorno a tutti. Quest'oggi ho un altro enigma da risolvere che spero di riuscire a spiegare bene xche è una cosa un po' anomala. Dunque: abbiamo un text1 che contiene un numero e 11 pulsanti sui quali vengono scritti dei risultati di calcoli del tipo


Command2.Caption = Int(Text1 * 70 / 100)


Fin qui tutto apposto (PARE). Ora cosa mi serve a me? facendo un esempio se nel text1 scrivo 1 il calcolo sarebbe 1*70/100 = 0.7 e quindi con il codice elimina la parte decimale riportando 0. Ora se io vado a scrivere altri numeri, mi accorgo che alcune volte i numeri che dovrebbero uscire vengono invece arrotondati secondo uno strano criterio del tipo se la parte decimale e' 0.6 0.7 o nn so esattamente quando lo arrotonda.

Ora la mia domanda e' questa: avendo la riga precedente, posso io dire al comando di arrotondare il numero e nn eseguire l'istruzione INT nel caso in cui la PARTE DECIMALE ammonti a un numero X (per comodita' mettiamo che la parte decimale sia tipo 0.7 o maggiore di) ? Se si, quale sarebbe il codice?

LoryOne
03-07-2009, 13.48.05
Int e Fix non sono la stessa cosa.
Prova.

miciomao
03-07-2009, 13.54.11
Ciao

Round dovrebbe fare al caso tuo

quindi

Command2.Caption = Int(Round(Text1 * 70 / 100, 0))



Ciao
Alex

miciomao
03-07-2009, 14.00.31
forse dopo la virgola dovrai inserire 1 anzichè 0 nel tuo caso

LoryOne
04-07-2009, 14.33.07
(W)

Command2.Caption = Int(Text1 * 70 / 100)


Orrore, raccapricco, fucilazione immediata :D
Text1 * 70
così è meglio: Val(Text1)*70