Somma numeri decimali

sabato 09 giugno 2012 - 16.14
Tag Elenco Tags  VB.NET  |  .NET 3.5  |  Windows Vista  |  Visual Studio 2008  |  SQL Server 2005

salvux Profilo | Newbie

Ciao a tutti ho un problema di calcolo con numeri decimali,
in pratica ho una textbox (propietà multiline= true) con dei valori decimali e non riesco a
calcolare la somma .
Il linguaggio di programmazione è il vb.net
posto il codice :




S Dim z As Double
Dim x As Integer
Dim y() As String



y = Split(TotmanifatturaTextBox.Text, vbCrLf)
x = UBound(y)
For r = 0 To x

Decimal.TryParse(y(r), x)
z = z + Val(y(r))
z = Format(z, ("00.00"))

TotalimponTextBox.Text = z.ToString("N2")


Grazie per l'aiuto.

jekisi Profilo | Senior Member

prova a fare ad esempio

TextBox2.Text = CDbl(TIMPONIBTextBox.Text) + CDbl(TIVATextBox.Text)

ciao

salvux Profilo | Newbie

Grazie x l'aiuto ma non è quello che mi serve.
Ti riporto un esempio molto grossolano:
devo sommare un unica textbox(multiline)

12,23
11,22
20,34
-------------

43,79 è il totale

Ciao e grazie.

Vinsent Profilo | Senior Member

Cambia:
z = z + Val(y(r))
con:
z = z + CDec(y(r))

Comunque la textbox ha la proprietà Lines che permette di contare le righe ed ottenerne il valore, un' esempio molto ristretto senza le verifiche del caso:

TextBox1.Text = "12,23" & vbCrLf & "11,22" & vbCrLf & "20,34" Dim somma As Decimal = 0 For a = 0 To TextBox1.Lines.Count - 1 somma = somma + CDec(TextBox1.Lines(a)) Next Console.WriteLine("totale = " & somma)

salvux Profilo | Newbie

Ciao, ho provato il tuo codice e funziona il parte :
esegue la somma ma non non mi calcola gli ultimi
2 numeri decimali esempio

dovrei visualizzare tot 23,12

e invece

visualizzo tot 23,00

ho provato a smanettare con qualche modifica al codice
ma niente da fare.
In tanto provo ancora.
grazie

Vinsent Profilo | Senior Member

>Ciao, ho provato il tuo codice e funziona il parte :
>esegue la somma ma non non mi calcola gli ultimi
>2 numeri decimali esempio
>
>dovrei visualizzare tot 23,12
>
>e invece
>
>visualizzo tot 23,00
>
>ho provato a smanettare con qualche modifica al codice
>ma niente da fare.
>In tanto provo ancora.
>grazie

Il codice che ho scritto riporta la somma corretta...ricontrolla...questo è in una form con due textbox, textbox1 è multiline, e due button per eseguire il codice versione "tua" e versione "mia":
Public Class Form1 Private Sub Form1_Load() Handles MyBase.Load TextBox1.Text = "12,23" & vbCrLf & _ "11,22" & vbCrLf & "20,34" End Sub Private Sub Button1_Click() Handles Button1.Click Dim somma As Decimal = 0 For a = 0 To TextBox1.Lines.Count - 1 somma = somma + CDec(TextBox1.Lines(a)) Next Console.WriteLine("totale = " & somma) TextBox2.Text = somma End Sub Private Sub Button2_Click() Handles Button2.Click Dim z As Double Dim x As Integer Dim y() As String y = Split(TextBox1.Text, vbCrLf) x = UBound(y) For r = 0 To x Decimal.TryParse(y(r), x) z = z + CDec(y(r)) z = Format(z, ("00.00")) Next Console.WriteLine("totale = " & z.ToString("N2")) TextBox2.Text = z.ToString("N2") End Sub End Class
Ovviamente ho presupposto che le "cifre" inserite nella textbox siano nel formato indicato e verificate a monte...
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5