+ Rispondi al messaggio
Pagina 1 di 3 123 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23

somma colonna datagrid arrotondata

  1. #1
    manu9874 non  in linea Novello
    Buon giorno a tutti...avrei bisogno di un aiuto...come da titolo ho scritto un codie in vb net per calcolarmi il totale di una colonna, funziona tutto correttamente solo che le decimali me li arrotonda o in eccesso o per difetto (es. se un qualsiasi totale 15,57+20,54=36,11 mi arrotonda a 36,00)...premetto che la datagrid prende i valori da un db access in valuta...vi posto il codice...

    Private Sub Calculate()
            Try
                Dim totalequota As Decimal
                For i = 0 To DataGridView1.Rows.Count - 1
                    totalequota += CInt(DataGridView1.Rows(i).Cells("Quota").Value)
                Next
                Label6.Text = totalequota.ToString("###,###,##0.00")
                Label6.Text = Decimal.Parse(Label6.Text).ToString
                Dim donazioni As Decimal= Convert.ToSingle(Label6.Text)
                Label6.Text = donazioni.ToString("C")
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Sub
    
    Nel load
    
                Calculate()
    
    potete dirmi/consigliarmi dove sbaglio? GRAZIE

  2. #2
    Ferrari_and non  in linea Scolaretto
    totalequota += CInt(DataGridView1.Rows(i).Cells("Quota").Value)
    
    Il CINT converte il valore in un INTERO (senza virgola) approssimando

  3. #3
    manu9874 non  in linea Novello
    grazie per la celere risposta...il Cint lo dovrei cambiare in type? scusami l'ignoranza

  4. #4
    Ferrari_and non  in linea Scolaretto
    Visto che lo hai dichiarato Decimal dovrebbe essere CDec al posto di CInt

  5. #5
    Sgrubak non  in linea Scribacchino
    Anche tutto quell'accrocchio che fai col testo della Label inutile.
    Ti basta, dopo il ciclo, semplicemente:
    Label6.Text = totalequota.ToString("C")
    

  6. #6
    manu9874 non  in linea Novello
    scusatemi sono rientrato dal lavoro...funziona perfettamente con CBec grazie Ferrari_and.

  7. #7
    manu9874 non  in linea Novello
    buona sera scusatemi se riprendo il post...funzionava tutto bene oggi andando a riprendere il progetto mi da Cast non valido dal tipo 'DBNull' al tipo 'Decimal'...mi spiegato cosa vuol dire e se possibile risolverlo???

  8. #8
    A parte il fatto che il CDec non andrebbe usato (vecchie funzioni VB6), l'errore chiaro... hai un valore DBNull (che non zero) e che non pu essere convertito in un numero.
    Strano che ci siano valori Null nel tuo db in un campo numerico... in ogni caso, controlla con una If che non sia dbNULL prima di convertire altrimenti assegna 0.

    Sono elementi di programmazione di base che potresti risolvere da solo con un minimo di documentazione e studio del linguaggio.
    ℹ️ Leggi di pi su AntonioG ...

  9. #9
    manu9874 non  in linea Novello
    l campo impostato su valuta e non numerico...se lo cambio in numerico dovrei risolvere a meno che mi creo la if come dbnull.value.tostring giusto?

  10. #10
    Anche la valuta un campo numerico... comunque non devi usare il tostring ma solo la IsDbNull
    ℹ️ Leggi di pi su AntonioG ...

+ Rispondi al messaggio
Pagina 1 di 3 123 ultimoultimo

Potrebbero interessarti anche ...

  1. Risolto: DataGrid : Annullare selezione colonna
    Da pierovb nel forum Visual Basic 6
    Risposte: 4
    Ultimo Post: 01-10-2012, 17:04
  2. colonna saldo in datagrid vb6
    Da anna nel forum Visual Basic 6
    Risposte: 0
    Ultimo Post: 29-09-2009, 22:49
  3. Colonna CheckBox in DataGrid
    Da Leonardo86 nel forum Visual Basic .Net
    Risposte: 6
    Ultimo Post: 04-07-2008, 09:12
  4. Intestazione di colonna di un ctr datagrid
    Da pietrorolli nel forum Visual Basic 6
    Risposte: 4
    Ultimo Post: 23-05-2008, 19:29
  5. somma importi arrotondata
    Da Mercante in fiera nel forum Visual Basic 6
    Risposte: 5
    Ultimo Post: 01-07-2006, 21:56