Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19

Discussione: calcoli in ASP

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    395

    calcoli in ASP

    buonasera a tutti.
    Ho dei "problemi" con dei calcoli.
    più che problemi avrei bisogno di sapere perchè in certe situazioni funziona ed in altre no.

    il primo codice che funziona, cioè che mi restituisce tutti e due i valori (13,33 e 22,00):
    codice:
    tot = formatnumber(((sogg("colpi") - parcampo) / inumgiri),2)
    
    if Ccur(tot) = scost then
    	scostamento = formatnumber((22.00),2)
    	Response.write "<td CLASS=intclassi>" & scostamento & "</td>"
    elseif formatnumber(((sogg("colpi") - parcampo) / inumgiri),2) = formatnumber((-4.67),2) then
    	scostamento = formatnumber((13.33),2)
    	Response.write "<td CLASS=intclassi>" & scostamento & "</td>"
    	else
    	Response.write "<td CLASS=intclassi></td>"
    	end if
    se faccio così restituisce solo 22,00:
    codice:
    tot = formatnumber(((sogg("colpi") - parcampo) / inumgiri),2)
    
    if Ccur(tot) = scost then
    	scostamento = formatnumber((22.00),2)
    	Response.write "<td CLASS=intclassi>" & scostamento & "</td>"
    elseif tot = scost then
    	scostamento = formatnumber((13.33),2)
    	Response.write "<td CLASS=intclassi>" & scostamento & "</td>"
    	else
    	Response.write "<td CLASS=intclassi></td>"
    	end if
    se faccio così restituisce solo 13,33:

    codice:
    tot = formatnumber(((sogg("colpi") - parcampo) / inumgiri),2)
    
    if formatnumber(((sogg("colpi") - parcampo) / inumgiri),2) = scost then
    	scostamento = formatnumber((22.00),2)
    	Response.write "<td CLASS=intclassi>" & scostamento & "</td>"
    elseif formatnumber(((sogg("colpi") - parcampo) / inumgiri),2) = formatnumber((-4.67),2) then
    	scostamento = formatnumber((13.33),2)
    	Response.write "<td CLASS=intclassi>" & scostamento & "</td>"
    	else
    	Response.write "<td CLASS=intclassi></td>"
    	end if
    io vorrei fare in modo di inserire "if tot..." dove tot e non risco a capire perchè non funziona in tutti e due gli "if"

    Grazie

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Evidentemente le ugualglianze non corrispondono e non entra nell'IF o nell'ELSE
    Fai delle response.write all'interno di ciascuna condizione per vedere se ci entra.

    Roby

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    395
    E in effetti è proprio quello che avevo provato. Finalmente risco a capire un po' meglio ASP ed allora avevo provato così
    codice:
    tot = formatnumber(((sogg("colpi") - parcampo) / inumgiri),2)
    Response.write "<td CLASS=intclassi>" & tot & "</td>"
    risultato:
    nei campi mi appare correttamente 0,00 e -4,67

    Ora non capisco perchè non posso fare
    "if tot (che appare corretto) = scost (che ricava i valori da una tabella del database e che sono 0,00 e -4,67) Then "...

    anche facendo un response.write di scost dell'altra tabella esce chiaramente il risultato giusto

    sto impazzendo perchè non capisco perchè se i 2 risultati di due tabelle differenti coincidono non mi da il risultato

    grazie

  4. #4
    passa SEMPRE per variabili di comodo.

    tot=.....
    zap=....
    pop=....
    zot=.....

    poi confronta usando le variabili CASTate secondo necessità

    IF CCur(zot)=CCur(bang) then ...

    IF CDbl(boing)=CDbl(Gulp) Then

    vedrai che funzia

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    395
    già provato....

    ma ho capito che non ho capito.....

    siccome pensavo fosse un problema di decimali me li sono fatti stamapre a video:
    codice:
    tot = formatnumber(((sogg("colpi") - parcampo) / inumgiri),2)
    response.write "<td class=intclassi>" & tot & "</td>"
    xx = formatnumber((Sogg("scost")),2)
    response.write "<td class=intclassi>" & xx & "</td>"
    risultato :
    giocatore1 - tot=-4.67 - xx=-4.67
    giocatore2 - tot=0.33 - xx=0.33

    ora io devo dirgli
    se tot = xx a -4.67 metti 22punti
    se tot = xx a 0.33 metti 13.33punti

    ma chiaramente non ho solo questi 2

    pensavo di farla furba per gestirla meglio mettere i valori di xx in una tabella dove nella colonna a fianco di sarebbe anche il valore da inserire (in questo caso 22 e 13.33)

    ma ora capisco che così non può funzionare perchè ho capito che tot = xx è sempre uguale.

    Consigli?

  6. #6
    te ne darei mille di consigli se avessi capito. fa' un esempio chiaro (con un bel disegno )

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    395
    vediamo un po'

    tabella A
    giocatore - scost
    pippo - -4.67
    pluto - 0.33
    andrea - 3.00
    e così via

    tabella B
    scost - punti
    -4.67 - 22.00
    0.33 - 22.15
    3.00 - 25.00

    ecc.

    praticamente.
    quando io estraggo i giocatori volgio che:
    nel caso pippo avesse "scost" uguale a quello della tabella B mi restituisca 22.00
    nel caso pluto avesse "scost" uguale a quello della tabella B mi restituisca 22.15
    ecc.

    volevo sfruttare la tabella B per non andare a scrivermi tutti gli socst e i punti negli if

  8. #8
    perché non fai lavorare il database? con una JOIN risolvi tutto!

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    395
    giusto...
    dopo provo.
    per il momento grazie tante

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    395
    fin qui funziona ma...
    se il campo scost fosse vuoto io vorrei che però mi facesse vedere lo stesso tutti i giocatori. Lo inserisco nella select?
    e se si come?
    Grazie

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.