Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Oggetto Math

  1. #1

    Oggetto Math

    Ciao a tutti,
    per problemi di linguaggio sono costretto (se si può fare...) a "convertire" uno script per i sondaggi on line da JSCRIPT a VBSCRIPT ho convertito quasi tutto meno il "cuore" del sondaggio ossia il calcolo percentuale con la barra grafica del sondaggio!

    Ora ho questo codice:

    codice:
    var a_Perc = Math.round((a_Sql("voti") / TOT_Sql("voti")) * 100)
    var b_Perc = Math.round((b_Sql("voti") / TOT_Sql("voti")) * 100)
    var c_Perc = Math.round((c_Sql("voti") / TOT_Sql("voti")) * 100)
    var d_Perc = Math.round((d_Sql("voti") / TOT_Sql("voti")) * 100)
    che dovrei convertire in VBSCRIPT solo che non credo che l'oggetto MATH sia supportato... come posso fare? C'è possibilità di integrare JSCRIPT con VBSCRIPT?
    Ciao e grazie

    Fabio

  2. #2
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Math.round equivale alla funzione round di VBScript.

    Quindi suppongo che per esempio la prima espressione dovrebbe diventare:

    codice:
    a_Perc = round((a_Sql("voti") / TOT_Sql("voti")) * 100)
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  3. #3
    Mi dà questo errore:

    Errore di run-time di Microsoft VBScript (0x800A01A8)
    Necessario oggetto: 'round(...)'
    la linea interessata è questa:

    codice:
    Set a_Perc = round((a_Sql("voti") / TOT_Sql("voti")) * 100)

  4. #4
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Non è round, cosa sono a_Sql e TOT_Sql?

    Prova a scrivere round(13/15*100) e vedi se dà errore
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  5. #5
    No niente sempre lo stesso errore anche scrivendo i numeri quelle variabili che vedi sono delle SELECT alla tabella voti del sondaggio.

    Forse è sbagliata la sintassi? Ho trovato quest asintassi per Round:

    Round(numero,decimali)

    però come la metto la virgola...?

  6. #6
    Niente da fare mi dice sempre necessario oggetto Round... forse è un problema di parentesi messe male?

  7. #7
    Penso che sbaglio qualcosa nella sintassi e non nell'oggetto ROUND ho provato ad inserire Cint e mi dà sempre questo errore:

    codice:
    Errore di run-time di Microsoft VBScript (0x800A01A8) 
    Necessario oggetto: 'Cint(...)'
    Ha cosa è dovuto?

  8. #8
    Risolto!

    Allora credo che era tutto causato da una sintassi errata...

    così non funziona

    codice:
    Set a_Perc = round((a_Sql("voti") / TOT_Sql("voti")) * 100
    così funziona

    codice:
    a_Perc = a_Sql("voti") / TOT_Sql("voti") * 100
    e successivamente il Round lo applico sul Response.Write

    codice:
    <%If d_Sql("voti") = "" Then Response.Write("0") Else Response.Write Round(d_Perc)End if%>

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.