Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Visualizzare la parte decimale
Forum - Visual Basic 6 - Visualizzare la parte decimale

Avatar
lucas95 (Normal User)
Rookie


Messaggi: 33
Iscritto: 11/11/2011

Segnala al moderatore
Postato alle 14:01
Lunedì, 28/11/2011
Buon giorno,
dovrei visualizzare la parte decimale di un numero; cioè di 13,3 devo visualizzare nella mia txtRisulato.Text = 0,3.

Grazie in anticipo! :asd:



PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 969
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 14:28
Lunedì, 28/11/2011
Ciao!
Prova a fare in questo modo
Codice sorgente - presumibilmente VB.NET

  1. dim numero as double
  2. dim decimale as double
  3. numero=13.3
  4. decimale=abs(numero)-int(abs(numero))
  5. txtRisulato.Text = decimale


PM Quote
Avatar
lucas95 (Normal User)
Rookie


Messaggi: 33
Iscritto: 11/11/2011

Segnala al moderatore
Postato alle 14:34
Lunedì, 28/11/2011
Ecco:

Codice sorgente - presumibilmente VB.NET

  1. Private Sub Command1_Click()
  2.     Dim numero As Double
  3.     Dim decimale As Double
  4.     numero = Text1.Text
  5.     decimale = Abs(numero) - Int(Abs(numero))
  6.    
  7. txtRisultato.Text =decimale
  8. End Sub



Se inserisco 13,3 visualizzo:

0,300000000000001


C'è il periodico!  :_doubt:

Ultima modifica effettuata da lucas95 il 28/11/2011 alle 14:35
PM Quote
Avatar
VMikle (Ex-Member)
Rookie


Messaggi: 52
Iscritto: 14/09/2011

Segnala al moderatore
Postato alle 14:36
Lunedì, 28/11/2011
Qui vai di fantasia :k:

Ad esempio potresti fare così:
Codice sorgente - presumibilmente Visual Basic 6

  1. Dim Num As Double
  2. Num = 13,3
  3. txtRisulato.Text = Num -  Fix(Num)


http://msdn.microsoft.com/it-it/library/xh29swte%28v=VS.90 ...


Oppure, avendo il numero delle cifre decimali costante e detto k, fare una cosa del genere:
Codice sorgente - presumibilmente Plain Text

  1. txtRisulato.Text = Num * (k*10)



E per finire, anche se è la soluzione che meno mi piace, potresti lavorare direttamente sulle stringhe formattate con Format (per forzare l'uso della virgola o del punto in modo da evitare problemi con la cultura usata) con funzioni quali Mid$ o Split.

EDIT:
ah, mi hanno preceduto 8-|

Ultima modifica effettuata da VMikle il 28/11/2011 alle 14:41
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 17:23
Lunedì, 28/11/2011
Testo quotato

Postato originariamente da lucas95:
C'è il periodico!  :_doubt:



Scrivi

txtRisultato.Text = Format(decimale, "0.#")


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
lucas95 (Normal User)
Rookie


Messaggi: 33
Iscritto: 11/11/2011

Segnala al moderatore
Postato alle 17:59
Lunedì, 28/11/2011
Ho seguito il consiglio di "nessuno"! Grazie mille! :k:

PM Quote