Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di icosimo
    Registrato dal
    Sep 2001
    Messaggi
    259

    VS2008 Visualbasic - numeri decimali

    VS2008 VisualBasic - numeri decimali

    Ciao FORUM,
    come è possibile indicare, nella routine sottostante, a suo tempo indicatami da Boolean,
    che le cifre decimali devono esse solo "due"?

    Grazie in anticipo, e buon 2009.


    ************************************************** **********
    Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
    Dim bInvalid As Boolean
    If IsNumeric(e.KeyChar) Then
    bInvalid = False
    Else
    Select Case Asc(e.KeyChar)
    Case 44, 46
    e.KeyChar = ChrW(46)
    If TextBox1.Text.IndexOf(e.KeyChar) >= 0 Then
    bInvalid = True
    End If
    Case 8
    bInvalid = False
    Case Else
    bInvalid = True
    End Select
    End If
    e.Handled = bInvalid
    End Sub
    ************************************************** **********
    Windows 7 Home Premium SP1 64 bit - AMD Athlon(tm) 64x2 Dual Core Processor 6000+ 3.00 GHz - 4 GB RAM - NVIDIA GeForce 8400 GS

  2. #2
    Imposta la proprietà MaxLength di TextBox1 a 2.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di icosimo
    Registrato dal
    Sep 2001
    Messaggi
    259
    Grazie Mitaly,

    mi riferisco ai numeri dopo la virgola.

    Ciao.
    Windows 7 Home Premium SP1 64 bit - AMD Athlon(tm) 64x2 Dual Core Processor 6000+ 3.00 GHz - 4 GB RAM - NVIDIA GeForce 8400 GS

  4. #4
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    Prova in questo modo

    codice:
        Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
            Dim bInvalid As Boolean
            If IsNumeric(e.KeyChar) Then
                If TextBox1.Text.IndexOf(".") >= 0 Then
                    Dim parts() As String = TextBox1.Text.Split(".")
                    If parts(1).Length = 2 Then
                        bInvalid = True
                    End If
                Else
                    bInvalid = False
                End If
            Else
                Select Case Asc(e.KeyChar)
                    Case 44, 46
                        e.KeyChar = ChrW(46)
                        If TextBox1.Text.IndexOf(e.KeyChar) >= 0 Then
                            bInvalid = True
                        End If
                    Case 8
                        bInvalid = False
                    Case Else
                        bInvalid = True
                End Select
            End If
                e.Handled = bInvalid
        End Sub
    Boolean

  5. #5
    Utente di HTML.it L'avatar di icosimo
    Registrato dal
    Sep 2001
    Messaggi
    259
    Grazie Boolean,

    ero certo che avresti risposto.

    Avevo trovato l'istruzione "Split" ma non l'avevo compresa.

    Ancora grazie, ciao.
    Windows 7 Home Premium SP1 64 bit - AMD Athlon(tm) 64x2 Dual Core Processor 6000+ 3.00 GHz - 4 GB RAM - NVIDIA GeForce 8400 GS

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 © 2026 vBulletin Solutions, Inc. All rights reserved.