Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Confronto stringhe non reale

    Salve a tutti!

    Ho realizzato una pagina di controllo per confrontre la fattibilita di un operazione.

    Tutto funziona tranne che con un importo da confrontare.... mi spiego meglio:

    Se l'importo della ricarica che il cliente vuole effettuare e maggiore del suo credito residuo logicamente non deve eseguire l'operazione.

    Il credito residuo è 50,00, le ricariche sono di taglio inferiore... quindi tutte fattibili!
    L'unico errore (Credito insufficiente) lo ricevo quando faccio il confronto con l'importo 9,85.

    Codice PHP:
    wimporto=request.form("importo")
    wcredito_residuo=request.form("credito_residuo"'questo valore è 50,00

    if wimporto = 1 then
    strimporto="5"
    strimporto_scontato="4,90"
    end if

    '
    questo non funzionada credito insufficiente.. perche9,85 è inferiore a 50,00
    if wimporto2 then
    strimporto
    ="10"
    strimporto_scontato="9,85" 'se ad esempio uso questi valori 4,90 - 17,70 - 19,70 etc, il contollo lo fa correttamente ;(
    end if
    chiuso qui nn funzionatutti gli altri sono ok!

    if 
    wimporto3 then
    strimporto
    ="15"
    strimporto_scontato="14,70"
    end if

    if 
    wimporto4 then
    strimporto
    ="20"
    strimporto_scontato="19,70"
    end if

    if 
    wimporto5 then
    strimporto
    ="25"
    strimporto_scontato="24,50"
    end if

    if 
    wimporto6 then
    strimporto
    ="30"
    strimporto_scontato="29,40"
    end if

    if 
    wimporto7 then
    strimporto
    ="50"
    strimporto_scontato="48,75"
    end if

    if (
    strimporto_scontato wcredito_residuothen
    response
    .write(strimporto_scontato) & ("
    "
    ) & (wcredito_residuo) & ("
    "
    ) & (wimporto)
    response.end

    response
    .write "<script>alert('Credito insufficiente per effettuare la ricarica!')</script>"
    response.write "<script>location.href = '../richiesta_credito.asp?p=1'</script>"

    else 
    Qualche consiglio??
    Scusate sto imparando!

  2. #2
    sono numeri, non stringhe

    "1.23" deve essere invece 1.23

    ragiona correttamente

  3. #3
    Originariamente inviato da optime
    sono numeri, non stringhe

    "1.23" deve essere invece 1.23

    ragiona correttamente
    Perché ho solo problemi su wimporto=2
    la sintassi o gli errori di sintassi sono uguali per tutti gli altri.!
    Scusate sto imparando!

  4. #4
    Originariamente inviato da max1975_na
    Perché ho solo problemi su wimporto=2
    la sintassi o gli errori di sintassi sono uguali per tutti gli altri.!
    io la soluzione te l'ho data. vedi tu

  5. #5
    se imposti i valori come stringhe, la condizione:
    if (strimporto_scontato > wcredito_residuo) then

    fa un controllo di tipo alfabetico e "9,85" viene dopo (è maggiore) a "50,00" proprio come "bcc" viene alfabeticamente dopo "acc".

  6. #6
    Seguendo i vs consigli, qualcosa funziona...
    adesso ho questo:

    codice:
    wimporto=request.form("importo")
    
    if wimporto = 1 then
    strimporto="5"
    strimporto_scontato="4,90"
    strimporto_scontato2=4.90
    end if
    
    if wimporto= 2 then
    strimporto="10"
    strimporto_scontato="9,85"
    strimporto_scontato2=9.85
    end if
    
    if wimporto= 3 then
    strimporto="15"
    strimporto_scontato="14,70"
    strimporto_scontato2=14.70
    end if
    
    if wimporto= 4 then
    strimporto="20"
    strimporto_scontato="19,70"
    strimporto_scontato2=19.70
    end if
    
    if wimporto= 5 then
    strimporto="25"
    strimporto_scontato="24,50"
    strimporto_scontato2=24.50
    end if
    
    if wimporto= 6 then
    strimporto="30"
    strimporto_scontato="29,40"
    strimporto_scontato2=29.40
    end if
    
    if wimporto= 7 then
    strimporto="50"
    strimporto_scontato="48,75"
    strimporto_scontato2=48.75
    end if
    
    
    wprefisso=request.form("prefisso")
    wnumero=request.form("numero")
    wstato_ricarica="0"
    
    wcredito_residuo=RS("USE_CREDITO")
    wcredito_residuo = Replace(Replace(wcredito_residuo, ".", ""), ",", ".")
    response.write (wcredito_residuo)
    'response.end
    
    
    w1=39.50 'credito residuo
    if w1 < strimporto_scontato2 then
    
    response.write ("credito insufficiente")
    else
    response.write ("credito sufficiente")
    end if
    response.end
    Adesso, come diceva optime ho eliminato le virgoletta da importo_scontato2!

    w1 solo se valorizzato anche lui in questa pagina fa un controllo reale e funzionante!
    se lo recupero dal form o lo recupero dal db da risultato sempre di credito sufficiente (quindi nn veritiero)

    come riesco a farlo diventare un valore adatto alle mie esigenze.

    Spero di essermi spiegato!

    PS: avevo anche provato a convertire le stringhe in numeri ma come ben sapete la funzione Cint arrotonda gli importi e a me servono anche i centesimi

    Quale strata è quella giusta?
    Scusate sto imparando!

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova con Csng o Cdbl
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    o anche CCur, visto che parliamo di importi

  9. #9
    Originariamente inviato da optime
    o anche CCur, visto che parliamo di importi
    Un po di codice please!
    è frustrante, sto provando da giorni...

    aiutami a fare un replace idoneo per confrontare w1 e w2 a livello numerico

    Codice PHP:
    w1 wcredito_residuo
    w2 
    wimporto_ricarica 
    Scusate sto imparando!

  10. #10
    un po' di codice?


    numero=CCur(stringa)


    questa è pigrizia allo stato puro!

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.