Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET]
Forum - C# / VB.NET - [VB.NET]

Avatar
ju89 (Normal User)
Pro


Messaggi: 61
Iscritto: 26/03/2014

Segnala al moderatore
Postato alle 12:48
Mercoledì, 26/03/2014
Buongiorno, sto facendo un programma che mi calcola gli interessi annui su un importo.
Il codice è questo:

Codice sorgente - presumibilmente VB.NET

  1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  2.         totaleinteressi.Text = ((Val(sanzione.Text) * Val(interessi.Text) / 100) / 12) * Val(numerorate.Text)
  3.         totalepagare.Text = (Convert.ToDouble(sanzione.Text) + Convert.ToDouble(totaleinteressi.Text))
  4.  
  5.     End Sub



Però capita che a volte il risultato da come numero decimali dei numeri periodici o con tre numeri dopo la virgola, come posso fare per far visualizzare solo due numeri dopo la virgola?


Gianluca
PM Quote
Avatar
R0gerBlack (Member)
Expert


Messaggi: 210
Iscritto: 10/06/2010

Segnala al moderatore
Postato alle 13:46
Mercoledì, 26/03/2014
Puoi usare la funzione Math.Round:
(documentazione http://msdn.microsoft.com/it-it/library/zy06z30k(v=vs.110) ...
Codice sorgente - presumibilmente C#

  1. public static decimal Round(
  2.         decimal d,
  3.         int decimals
  4. )



(uso pratico)
Codice sorgente - presumibilmente VB.NET

  1. 'Codice da mettere alla fine di Sub Button1_Click
  2. Dim num As Decimal = totalepagare.Text
  3. num = Math.Round(num, 2)
  4. totalepagare.Text = num



Volere è potere.

Se la conoscenza crea problemi, non è con l'ignoranza che si risolvono [Isaac Asimov]
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5473
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 14:00
Mercoledì, 26/03/2014
Più semplicemente

Codice sorgente - presumibilmente Plain Text

  1. totalepagare.Text = (Convert.ToDouble(sanzione.Text) + Convert.ToDouble(totaleinteressi.Text)).ToString("0.00")




P.S. Perché nella prima linea utilizzi la Val ???

Ultima modifica effettuata da nessuno il 26/03/2014 alle 14:01


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
ju89 (Normal User)
Pro


Messaggi: 61
Iscritto: 26/03/2014

Segnala al moderatore
Postato alle 15:08
Mercoledì, 26/03/2014
Uso il Val sennò non mi fa l'operazione; molto comoda la funziona
Codice sorgente - presumibilmente Plain Text

  1. ToString.("0.00")



però quando faccio il comando per calcolare questa riga di codice
Codice sorgente - presumibilmente Plain Text

  1. totaleinteressi.Text = ((Val(sanzione.Text) * (interessi.Text) / 100) / 12) * Val(numerorate.Text).ToString("0.00")



Il risultato di totaleinteressi.Text viene con 4 cifre dopo lo zero, come mai?


Gianluca
PM Quote
Avatar
ju89 (Normal User)
Pro


Messaggi: 61
Iscritto: 26/03/2014

Segnala al moderatore
Postato alle 15:31
Mercoledì, 26/03/2014
Ho risolto aggiungendo .ToString("0.00") prima della moltiplicazione ed ho risolto.
Grazie siete stati gentilissimi.

Ultima modifica effettuata da ju89 il 26/03/2014 alle 15:31


Gianluca
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5473
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 17:32
Mercoledì, 26/03/2014
Non hai capito ... al posto della Val dovresti usare la Convert.ToDouble


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote