Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    562

    [VB6]Se il numero è pari

    Ciao a tutti,
    devo dare ad un text una condizione, se il numero che contiene è pari fa questo, se è dispari fa questo, come faccio?

  2. #2
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, beh.. penso che la matematica di base la conoscerai...fatti la domanda, quando un numero è pari? Pensa a come faresti con carta e penna...e avrai la risposta alla tua domanda..
    Jupy

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    562
    Si va be con la matematica ci sono molti modi, ma a me serviva un codice veloce che dice qui è pari qui è dispari.

  4. #4
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    fai numero mod 2 e vedi se il numero è pari

    il mod restituisce il resto della divisione,se non c'è resto vuol dire che è paro.

  5. #5
    Originariamente inviato da cassano
    fai numero mod 2 e vedi se il numero è pari

    il mod restituisce il resto della divisione,se non c'è resto vuol dire che è paro.
    ...oppure si può verificare se il bit meno significativo è 0 (pari) o 1

  6. #6
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Fai così:
    codice:
    Private Sub Command1_Click()
        
        If Text1.Text And 1 Then MsgBox ("Dispari") Else MsgBox ("Pari")
    
    End Sub
    Oppure così:

    codice:
    Private Sub Command1_Click()
        Dim intNumero As Double
        If Len(Text1.Text) > 0 Then
            intNumero = (Text1.Text)
            If intNumero Mod 2 = 0 And 1 Then
                MsgBox "Il numero è pari"
                Else
                MsgBox "Il numero è dispari"
            End If
        End If
    End Sub
    LM

  7. #7
    I cast... le parentesi... la gestione degli errori...
    Originariamente inviato da LMondi
    Fai così:
    codice:
    Private Sub Command1_Click()
        On Error Goto fine 'il cast potrebbe non funzionare correttamente
        If Len(Text1.Text) > 0 Then
            If CLng(Text1.Text) And 1 Then MsgBox "Dispari" Else MsgBox "Pari"
        End If
        Exit Sub
        fine:
        MsgBox "Il contenuto della casella di testo non è un numero."
    End Sub
    Oppure così:

    codice:
    Private Sub Command1_Click()
        On Error Goto fine 'il cast potrebbe non funzionare correttamente
        Dim intNumero As Long ' non ha senso il modulo di un numero decimale...
        If Len(Text1.Text) > 0 Then
            intNumero = CLng(Text1.Text)
            If intNumero Mod 2 = 0 And 1 Then
                MsgBox "Il numero è pari"
                Else
                MsgBox "Il numero è dispari"
            End If
        End If
        Exit Sub
        fine:
        MsgBox "Il contenuto della casella di testo non è un numero."
    End Sub
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    562
    funziona tutto, grazie mille a tutti

  9. #9
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    non capisco

    Mod 2 = 0 And 1 ,perchè and 1 ??

  10. #10
    In effetti non ha molto senso... si può toglierlo senza problemi.
    Amaro C++, il gusto pieno dell'undefined behavior.

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.