+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 9 su 9

ottenere separatore decimale "." anziché ","

  1. #1
    tino non è in linea Novello
    Post
    7
    Like Inviati  
    0
    Like Ricevuti  
    0
    buona sera a tutti.
    Avrei un problema, e pur girando qua e la, non sono riuscito a risolverlo.
    ho creato un programmino per vari calcoli funzionante, ma ora mi trovo a volerlo implementarlo.
    Vorrei riuscire a far si che il separatore decimale, fosse un punto anziché una virgola, ed in qualsiasi caso far in modo che l'utente finale, non si dovesse preoccupare se inserire dati con punto o con virgola, anche perché non tutti usiamo lo stesso modo.
    grazie in anticipo.

  2. #2
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Post
    3,134
    Like Inviati  
    5
    Like Ricevuti  
    5
    Puoi agire in uno degli eventi che si verificano alla pressione di un tasto (es. KeyDown) che riceve come parametro (e.KeyCode mi pare) il KeyCode del tasto premuto. Se corrisponde alla virgola devi annullare l'evento e inviare con SendKeys il carattere punto.
    ℹ️ Leggi di più su Brontolo ...

  3. #3
    tino non è in linea Novello
    Post
    7
    Like Inviati  
    0
    Like Ricevuti  
    0
    grazie, ma sono poco pratico di programmazione.
    sulla form ho un bottone,ad esso associata una sub su clik

  4. #4
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Post
    3,134
    Like Inviati  
    5
    Like Ricevuti  
    5
    Quote Originariamente inviato da tino Visualizza il messaggio
    grazie, ma sono poco pratico di programmazione.
    Questo è un problema.
    Immagino che l'utente debba digitare un importo in una TextBox, no?
    ℹ️ Leggi di più su Brontolo ...

  5. #5
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,491
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    34
    Quote Originariamente inviato da tino Visualizza il messaggio
    grazie, ma sono poco pratico di programmazione.
    Beh, per un forum tecnico in cui si danno consigli dando per scontata una certa preparazione di base, questo è un "grande" problema.

    sulla form ho un bottone,ad esso associata una sub su clik
    Non ho ancora capito il problema, tu vuoi che si scriva 10,4 o 10.4 e sia comunque valutato?

    Puoi anche usare la

    String.Replace
    https://docs.microsoft.com/it-it/dot...e?view=net-5.0

    per gestire i valori comunque con il punto decimale.
    ℹ️ Leggi di più su AntonioG ...

  6. #6
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Post
    3,134
    Like Inviati  
    5
    Like Ricevuti  
    5
    Se non gli dà fastidio vedere la virgola, sì.
    ℹ️ Leggi di più su Brontolo ...

  7. #7
    Sn0rky non è in linea Scolaretto
    Post
    369
    Like Inviati  
    1
    Like Ricevuti  
    0
    in definitiva gli altri utenti ti stanno dicendo che puoi "risolvere" in più di un modo:
    - verificare e correggere il carattere . o , nel momento in cui viene digitato (dovunque tu lo voglia far digitare, textbox o altro controllo)
    - verificare e correggere il carattere . o , nel momento del suo effettivo uso (ossia nella sub che riguarda il pulsante)
    quello che devi tenere a mente è che per programmare con un poco di logica dovresti separare in vari piccoli step quello che andrai a fare... secondo me ti conviene creare dei vincoli all'immissione così da semplificare anche la gestione degli errori (ad esempio impedendo i caratteri alfaberici)
    quindi l'oggetto "testo" che ricavi lo puoi considerare a tutti gli effetti un numero e localizzarlo per nazione (così da svincolarlo alla grafia . o ,) ed effettuare tutti i calcoli che ti servono

  8. #8
    tino non è in linea Novello
    Post
    7
    Like Inviati  
    0
    Like Ricevuti  
    0
    Scusatemi tantissimo, ma ero fuori per lavoro.
    il problema l'ho risolto, e fa ciò che volevo io, ma adesso mi capita che, se digito un valore, non posso correggerlo cancellando normalmente, ma devo selezionare tutto il testo e sovrascriverlo.

    penso dipenda dal codice

    Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
            Dim culture As System.Globalization.CultureInfo
            Dim separatoreDecimale As String
            Dim ci As New Globalization.CultureInfo("it-IT", True)
            culture = System.Threading.Thread.CurrentThread.CurrentCulture
            separatoreDecimale = culture.NumberFormat.NumberDecimalSeparator
            If e.KeyChar = Char.ConvertFromUtf32(46) Or e.KeyChar = Char.ConvertFromUtf32(44) Then
    
            End If
            If e.KeyChar = "," Or e.KeyChar = "." Then
                If TextBox1.Text.IndexOf(separatoreDecimale) > 0 Then
                    e.Handled = True
                    Exit Sub
                Else
                    If e.KeyChar = "." Or e.KeyChar = "," Then
                        TextBox1.AppendText(separatoreDecimale)
                        e.Handled = True
                        Exit Sub
                    End If
                End If
            End If
            e.Handled = Not Char.IsNumber(e.KeyChar)
        End Sub
    
    per ora non è un problema, ma piuttosto un fastidio
    Ultima modifica di AntonioG; 26-01-2021 20:07  Motivo: Usa i tag code per il codice

  9. #9
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Post
    3,134
    Like Inviati  
    5
    Like Ricevuti  
    5
    C'è una notevole ridondanza di codice, soprattutto di strutture If... End If, fai prima un po' di pulizia.
    Ma soprattutto devi prima decidere quale soluzione adottare, fra le due possibilità che ti sono state indicate.
    penso dipenda dal codice
    Dipende sempre dal codice.
    ℹ️ Leggi di più su Brontolo ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Risposte: 3
    Ultimo Post: 11-01-2019, 21:21
  2. excel 2007 - separatore decimale
    Da kingping nel forum Microsoft Excel
    Risposte: 2
    Ultimo Post: 20-11-2008, 13:31
  3. aiuto sul separatore decimale
    Da vb686 nel forum Visual Basic 6
    Risposte: 14
    Ultimo Post: 13-03-2006, 12:17
  4. Separatore decimale in Excel
    Da martem nel forum Microsoft Excel
    Risposte: 1
    Ultimo Post: 27-07-2005, 12:53
  5. Separatore decimale
    Da bornslippy nel forum Visual Basic 6
    Risposte: 6
    Ultimo Post: 28-02-2005, 18:32