Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,580

    [vb.net]formattare numero per inserimento in mysql

    salve a tutti

    dovrei inserire dei valori dentro mysql
    il punto è che mi sto incasinando nel formattare i valori numerici...

    ovviamente sapere che mysql si deve scambiare il punto con la virgola. e viceversa con le virgole(che in inglese servono da speraratore per le migliaia

    ebbene se ho un numero :"3.350,50" ? come faccio?

    1) se afccio un replace come:replace(numero,",",".") diventa:"3.350.50"
    e volendo sostituire i punti con virgola ..peggio di prima
    che sicuramente da errore


    cosa posso fare per le cifre decimali?
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  2. #2
    Non so se in questo caso ti possono essere utili ma prova la funzione CDec(), FormatNumber()
    Se poi il punto di 3.350,50 crea problemi lo puoi eliminare con Replace(numero, ".","")
    Ti ricordo che il campo del Db deve essere di tipo Decimale

  3. #3
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,580
    Originariamente inviato da mardok30
    Non so se in questo caso ti possono essere utili ma prova la funzione CDec(), FormatNumber()
    Se poi il punto di 3.350,50 crea problemi lo puoi eliminare con Replace(numero, ".","")
    Ti ricordo che il campo del Db deve essere di tipo Decimale
    decimale?, io vedo che perfino in campi double mysql permette il punto come separatore decimale, usando decimal ho qualche vantaggio?

    cmq ho trovato con google queste 2 funzioni....
    quale mi sapresti indicare come preferita per tradurre inumeri in formato mysql?

    codice:
     Public Function ConvNumItaIng(ByVal Numero As String) As String
    
            If Numero = "" Then
                ConvNumItaIng = 0
                Exit Function
            End If
            Dim app As String = ""
            Dim Directory As Double = 0
    
            Dim i As Integer
            For i = 1 To Len(Numero)
                ' If Len(Numero) - i = 0 Then Exit For
                If Mid(Numero, i, 1) = "," Then
                    Mid(Numero, i, 1) = "."
                    GoTo continua
                End If
    
                If Mid(Numero, i, 1) = "." Then
                    Mid(Numero, i, 1) = ","
                    GoTo continua
                End If
    
    continua:
                app = app & Mid(Numero, i, 1)
            Next
    
            Return app ' NOmeFile
    
        End Function
        Public Function ConvNumItaMysql(ByVal Numero As String) As String
    
            If Numero = "" Then
                ConvNumItaMysql = 0
                Exit Function
            End If
            Dim app As String
            app = Replace(Numero, ".", "")
            app = Replace(Numero, ",", ".")
    
            Return app ' NOmeFile
    
        End Function
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  4. #4
    Come cosa principale devi togliere la virgola che ti darebbe errore quando fai la QUERY e puoi togliere anche il punto delle migliaia:
    app = Replace(Replace(Numero, ".", ""), ",", ".")
    ci penserà la FormatNumber ad inserire il punto delle migliaia quando visualizzi il numero.
    ...usando decimal ho qualche vantaggio?
    Dipende dall'applicazione...

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    ma devi convertire dal formato italiano a quello inglese? se è cosi te lo fa vb direttamente.
    Ans.

  6. #6
    io penso che la cosa più semplice è cambiare le impostazioni internazionali del pc....
    I database... la mia passione + o -

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.