Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di lory38
    Registrato dal
    Dec 2010
    Messaggi
    214

    [vb.net] errore confronto del valore minore

    Salve,

    il problema è operatori di confronto che quando il valore è minore che doveva essere vero invece lui lo fa il falso.

    Ti faccio un esempio:


    (il valore minore di 3.000,00 passa quello vero che è giusto)
    if 3.000,00 < 7.000,00 then
    --> ...
    else
    ...
    end if


    (il valore minore di 16.000,00 passa quello falso che è sbagliato invece doveva passare il vero)
    if 16.000,00 < 105.000,00 then
    ...
    else
    --> ...
    end if


  2. #2
    lo sai che la bestia ragiona all'anglosassone. il nostro 12.345,67 va scritto 12345.67

  3. #3
    Utente di HTML.it L'avatar di lory38
    Registrato dal
    Dec 2010
    Messaggi
    214
    e ho già provato a mettere il codice con "LEN" ma il problema è lo stesso ma va al contrario.

  4. #4
    Utente di HTML.it L'avatar di lory38
    Registrato dal
    Dec 2010
    Messaggi
    214

  5. #5
    Utente di HTML.it L'avatar di alpynet
    Registrato dal
    Mar 2010
    Messaggi
    123

    Re: [vb.net] errore confronto del valore minore

    Originariamente inviato da lory38
    (il valore minore di 3.000,00 passa quello vero che è giusto)
    if 3.000,00 < 7.000,00 then
    --> ...
    else
    ...
    end if


    (il valore minore di 16.000,00 passa quello falso che è sbagliato invece doveva passare il vero)
    if 16.000,00 < 105.000,00 then
    ...
    else
    --> ...
    end if
    Ciao, non penso che hai usato il codice cosi come lo hai scritto, in quanto avresti degli errori.
    Penso che il controllo venga fatto con delle variabili giusto? eventualmente per vedere dove è il problema, dovresti postare tutto il codice cosi come lo hai tu.

  6. #6
    Utente di HTML.it L'avatar di lory38
    Registrato dal
    Dec 2010
    Messaggi
    214
    ok, ecco ti posto il codice:

    Dim numero As String = ""
    Dim Auto As String
    Dim produce As String = txtProduce.Text
    Dim energia As String = FormatNumber((potenza * produce), 2)
    Dim consumo As String = FormatNumber(txtCns.Text, 2)
    If consumo < energia Then
    Auto = consumo
    numero = energia - Auto
    Else
    Auto = energia
    numero = Auto - consumo
    End If

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da lory38
    Dim produce As String = txtProduce.Text
    Dim energia As String = FormatNumber((potenza * produce), 2)
    Dim consumo As String = FormatNumber(txtCns.Text, 2)
    Stai confrontando solo stringhe, quindi valori di tipo testo, e non valori effettivamente numerici.

    Devi convertirli in grandezze numeriche, di tipo Double o Decimal, per poter effettuare dei confronti sensati.

    P.S.: il codice va inserito nel tag [CODE], come da Regolamento.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  8. #8
    Utente di HTML.it L'avatar di alpynet
    Registrato dal
    Mar 2010
    Messaggi
    123
    Come dice alka, il confronto devi farlo con valori numerici e non stringhe, altrimenti avrai sempre risultati che non ti aspetti (parlando sempre pensando a confronti numerici)

  9. #9
    Utente di HTML.it L'avatar di lory38
    Registrato dal
    Dec 2010
    Messaggi
    214
    ok, grazie di tutto ero un pò confuso.

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.