Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197

    [vb 6]sommare numeri con formato diverso

    scorro il campo di un recordset di tipo stringa che contiene dei valori numerici che possono essere del tipo:

    34,56
    3.45655 (dove il punto sta per virgola)
    227
    45,00
    -34,456644
    come devo convertirli prima di sommarli? se converto il campo in cDbl() ottengo strani risultati, come posso fare?

  2. #2
    con il replace di "." con "," o di "," con ".", a seconda

  3. #3
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197
    cosi ho fatto, non c'e' una funzione di conversione nativa che interpreta come numero?

  4. #4
    prova ad usare la funzione IsNumeric
    ciao

  5. #5
    se usi isnumeric finisci che non sommi, ad esempio, i numeri con il punto ma solo quelli con la virgola....

  6. #6
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Se vuoi trasformare una stringa in un valore Double puoi usare questa funzione da me predisposta:
    codice:
    'Trasforma stringa in Numero Double e formatta con punto:
    Public Function CtrPI(strTesto As String)
        On Error Resume Next
            If IsNumeric(strTesto) Then
                CtrPI = Format(CDbl(strTesto), "#,##0")
                Else: CtrPI = 0
            End If
    End Function
    La devi copiare in un modulo Bas e la puoi usare in questo modo:
    codice:
     
    Oggetto2.CommandText = "insert into TblInvestimenti(Descrizione, Anno1, Anno2, Anno3, Anno4, Anno5)" _
            & "values ('" & Replace(FrmInv.Txt12L.Text, "'", "''") & "', '" & CtrPI(FrmInv.Txt61VT.Text) & "',  '" & CtrPI(FrmInv.Txt62VT.Text) & "', '" & CtrPI(FrmInv.Txt63VT.Text) & "', '" & CtrPI(FrmInv.Txt64VT.Text) & "', '" & CtrPI(FrmInv.Txt65VT.Text) & "');"
    Oggetto2.Execute
    In sostanza poni CtrPI() davanti ad ogni espressione stringa che vuoi trasformare in dbl.
    Ciao
    LM

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.