Select con numeri decimali e interi

di il
8 risposte

Select con numeri decimali e interi

Ciao a tutti

ho questa situazione:

dim a as single

Dim x as string

Select case a

 case is >= 1 <=3.5

  x="Neg_A"

 case  is >=3.6 <4

 x="Neg_P"

 Case Is = 4

 x= "Neg_Q"

end select

se a=4

mi prende la prima, cioé "Neg_A"

Grazie per l'aiuto

8 Risposte

  • Re: Select con numeri decimali e interi

    La sintassi che hai usato non ha senso.

    Case 1.0 To 3.5

    Case 4

    Case 3.6 To 4

    Ma nom capisco cosa vuoi fare tra 3.5 e 3.6 estremi non inclusi

  • Re: Select con numeri decimali e interi

    04/12/2024 - oregon ha scritto:

    La sintassi che hai usato non ha senso.

    Case 1.0 To 3.5

    Case 4

    Case 3.6 To 4

    Ma nom capisco cosa vuoi fare tra 3.5 e 3.6 estremi non inclusi

    grazie 

    ora ci provo

  • Re: Select con numeri decimali e interi

    Ok ma non hai risposto alla mia domanda

  • Re: Select con numeri decimali e interi

    In effetti è decisamente poco chiaro... di certo i buchi non si lasciano e se possibile si evitano i doppi limiti inutili..!

    Esempio scritto correttamente, o meglio con una logica funzionale... :

    Function X(a)
        Select Case a
            Case Is < 1:        X = "...?"
            Case Is < 3.6:      X = "Neg_A"
            Case Is < 4:        X = "Neg_P"
            Case Is = 4:        X = "Neg_Q"
            Case Else:          X = "...?"
        End Select
    End Function
  • Re: Select con numeri decimali e interi

    04/12/2024 - @Alex ha scritto:

    In effetti è decisamente poco chiaro... di certo i buchi non si lasciano e se possibile si evitano i doppi limiti inutili..!

    Esempio scritto correttamente, o meglio con una logica funzionale... :

    Function X(a)
        Select Case a
            Case Is < 1: 3        X = "...?"
            Case Is < 3.6:      X = "Neg_A"
            Case Is < 4:        X = "Neg_P"
            Case Is = 4:        X = "Neg_Q"
            Case Else:          X = "...?"
        End Select
    End Function

    Io mi trascino altri linguaggi ma...

    Case a=2 

    Case Is < 1: no

    Case Is < 3.6: si esegui!

    Case Is < 4: si esegui!

    Io farei

    If qualcosa <1 x=blabla else

    If qualcosa =>1 and qualcosa<=3 x=ecc ecc else ecc..

    Usare case con confronto di maggioranza o minoranza non ha senso.

    O mi sfugge qualcosa che non so?

    Faccio ammenda (e tesoro di nuove info) se erro...

    Ok. Sono andato a studiarlo io.

  • Re: Select con numeri decimali e interi

    04/12/2024 - sihsandrea ha scritto:

    Case a=2 

    Case Is < 1: no

    Case Is < 3.6: si esegui!

    Case Is < 4: si esegui!

    Forse ho frainteso quello che hai scritto, lo preciso comunque: se a = 2, al [Case Is < 4] non si arriva, si esce dal Select dopo aver eseguito il Case Is < 3.6.

  • Re: Select con numeri decimali e interi

    04/12/2024 - sihsandrea ha scritto:

    Io mi trascino altri linguaggi ma...

    Quali linguaggi fanno come dici sotto per capire...?

    Anche in C o C++ lo switch case(trascurando i decimali) se metti il break si comporta come nel Vb... ovvero alla prima condizione verificata esce.

    Case a=2 

    Case Is < 1: no

    Case Is < 3.6: si esegui!

    Case Is < 4: si esegui!

    Io farei

    If qualcosa <1 x=blabla else

    If qualcosa =>1 and qualcosa<=3 x=ecc ecc else ecc..

    Usare case con confronto di maggioranza o minoranza non ha senso.

    O mi sfugge qualcosa che non so?

    Faccio ammenda (e tesoro di nuove info) se erro...

    Ok. Sono andato a studiarlo io.

    Secondo me meglio se fai qualche prova prima di tutto... poi ne parliamo se serve ancora... quello che hai scritto è sbagliato.

  • Re: Select con numeri decimali e interi

    Forse vi sono sfuggiti la prima riga e l'ultima...

    Non cancello ciò che scrivo anche se mi accorgo di aver sbagliato ma integro la risposta.

    In delphi

    Case x of

      1: bla bla

      2: bla bla

       Else: bla bla

    End case

    La ripetizione di case mi aveva spiazzato un attimo...

    Vista e ripassata l'istruzione case in access ho aggiunto:

    04/12/2024 - sihsandrea ha scritto:

    Ok. Sono andato a studiarlo io.

    Felice di arricchire le conoscenze.

Devi accedere o registrarti per scrivere nel forum
8 risposte