Visualizzazione risultati 1 fino 6 di 6

Discussione: form calcolo con script arrotondamenti

  1. #1
    Guest

    Question form calcolo con script arrotondamenti

    Ho scritto questo form per calcolare il costo in € dell'oro usato in grammi:
    Codice:
    <!-- inizio form calcolo oro usato-->
                              <form>
                              <div align="center"><b>Peso in grammi:</b> 
                                <input type="text" name="P" size="3" value=""
    
    
        onChange="G.value = 9.50 * this.value">
                                <b>=</b> 
                                <input type="text" name="G" size="4" value=""
    
    
        onChange="P.value = 1 * this.value">
                                <b>Costo in €</b><br>
                              </div>
                            </form>
       <!--fine form calcolo oro usato-->
    Vorrei che i risultati ottenuti venissero arrotondati al numero pari più vicino,ho trovato questo script:
    Codice:
    body>
    <script type="text/javascript">
    document.write(Math.round(11.4) + "<br />");
    document.write(Math.round(11.5) + "<br />")
    document.write(Math.round(13.5));
    </script>
    </body>

    1)ho modificato i valori,l'ho provato nel sito ma i risultati di questi arrotondamenti appaiono stampati a video piuttosto che come risultato delle operazioni eseguite dal form già presente nel sito stesso
    2)come devo fare per farli "agire insieme"?
    poi un'altra domanda:
    3)devo scrivere tanti doc.write quante sono le possibilità di arrotondamenti?Cioè praticamente all'infinito?

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    A parte che non riesco a capire molto del tuo codice (perché hai due caselle per il peso, fai una conversione in tempo reale tra l'una e l'altra ma non fai la conversione inversa tra la seconda e la prima?), dovresti avere qualcosa del genere:
    Codice HTML:
    <form name="moduloOro">
       Peso in grammi:
       <input type="text" name="peso" value="" onChange="moduloOro.totale.value = parseFloat (moduloOro.peso.value) * parseFloat (moduloOro.unit.value)" />
       Prezzo dell'oro (EUR/grammo):
       <input type="text" name="unit" value="18.0" onChange="moduloOro.totale.value = parseFloat (moduloOro.peso.value) * parseFloat (moduloOro.unit.value)" />
       Quotazione totale in Euro:
       <input type="text" name="totale" value="" readonly="readonly" />
    </form>
    Per quanto riguarda gli arrotondamenti, devi solamente usare in modo più "astuto" la funzione Math.round(), con cui puoi solamente arrotondare all'intero più vicino. Ma se dividi per 2, poi arrotondi, e infine moltiplichi per 2, non ottieni sempre un numero pari? In altre parole, devi scrivere così la funzione:
    Codice:
    moduloOro.totale.value = 2 * Math.round (parseFloat (moduloOro.peso.value) * parseFloat (moduloOro.unit.value) / 2)
    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    Guest

    Cool arrotondamenti

    il form mi andava bene con due caselle non volevo apparisse il costo dell'oro al grammo...ma apparte questo non riesco ad applicare la funzione dell'arrotondamento,forse sbaglio posizione perchè non succede niente!

  4. #4
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Citazione Originalmente inviato da argentorologi Visualizza messaggio
    il form mi andava bene con due caselle non volevo apparisse il costo dell'oro al grammo...
    Allora puoi fare così: sostituisci type="text" con type="hidden" sul campo con nome unit, ed elimina ovviamente la descrizione vicino... così non lo vedi.
    Citazione Originalmente inviato da argentorologi Visualizza messaggio
    ma apparte questo non riesco ad applicare la funzione dell'arrotondamento,forse sbaglio posizione perchè non succede niente!
    Questo non riesco a capirlo: come te l'ho scritto dovrebbe funzionare (parseFloat serve a convertire la stringa inserita in un numero decimale)... ne hai un esempio preparato sul tuo sito?

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  5. #5
    Guest

    Predefinito arrotondamenti

    purtroppo no,nel sito ho il mio form originale,non faccio cambiamenti finchè non riesco a farli funzionare ed ancora non ci riesco...

  6. #6
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Allora... se il modello è quello della tua home page, ho visto che funziona così:
    - inserendo un numero nella casellina sinistra, cliccando su quella destra viene fuori il numero moltiplicato per 10
    - quello che non mi spiego è perché se inserisco il numero sulla casella destra, cliccando su quella sinistra viene fuori l'identico numero (non dovrebbe essere diviso per 10?)

    Da quel modulo, potresti scrivere meglio cosa vorresti ottenere?

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •