Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    184

    Switch con case numerici

    Per segnalare dei case che vadano da numero a numero in uno switch come si fa in Js ?
    Per es. :

    switch (valore){
    case "da 0,00 a 99,99" :
    richiamo nuova funzione
    break;
    case "da 100,00 a 199,99" :
    richiamo nuova funzione 2
    break;
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Quelle condizioni si settano con degli if, non con switch/case.

    Lo switch ha senso sa hai un numero (ragionevole) di casi ben definiti: se hai intervalli non e` la soluzione corretta.
    codice:
    if(valore > 0 && valore < 100) {
      richiamo nuova funzione
    } else if(valore<200) {
      richiamo nuova funzione 2
    } else if (...) {
      ...
    }else {
      ...
    }
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    184

    e se poi.....

    Se poi io tra questi valori posso avere 120, 120.00, 0120.00, ma voglio prendere sempre "l'intero + i decimali" come posso fare ?
    Mi spiego meglio.

    Ho dei codici IVA che fanno più o meno cosi
    0,00 -> 99,99 Aliquota IVA normale, il codice è l'aliquota
    100,00 -> 199,99 Scorporo IVA , devo beccare solo l'aliquota, poi effetuare lo scorporo e cambiare il codice da 199,99 a 99,99 per esempio.

    Ho anche codici a 4+2 es. 6999.99.

    Allora mi riesce tutto tranne che usare la substr, praticamente solo se il codice è a 1 cifra funziona perchè sono sbagliati i parametri altrimenti NISBA

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    potresti usare
    http://www.devguru.com/Technologies/...kref/math.html
    Math.ceil(), cosi' lavori con interi
    ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    184
    Ma non posso lavorare con interi, devo usare sempre interi devo sempre usare i decimali.

  6. #6

    Re: e se poi.....

    Originariamente inviato da kekkosf
    Se poi io tra questi valori posso avere 120, 120.00, 0120.00, ma voglio prendere sempre "l'intero + i decimali" come posso fare ?
    Mi spiego meglio.

    Ho dei codici IVA che fanno più o meno cosi
    0,00 -> 99,99 Aliquota IVA normale, il codice è l'aliquota
    100,00 -> 199,99 Scorporo IVA , devo beccare solo l'aliquota, poi effetuare lo scorporo e cambiare il codice da 199,99 a 99,99 per esempio.

    Ho anche codici a 4+2 es. 6999.99.

    Allora mi riesce tutto tranne che usare la substr, praticamente solo se il codice è a 1 cifra funziona perchè sono sbagliati i parametri altrimenti NISBA

    parseFloat( _stringa_numerica_ );
    DYNAMIC+ [ E-mail ]

    Secondo me non si può fare!

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    184

    Ma non risolve completamente i miei problemi

    Allora se io ho 1120,55, devo sapere che questo è il codice poi devo operare catturando solo 120,55.
    Come posso fare ?

  8. #8

    Re: Ma non risolve completamente i miei problemi

    Originariamente inviato da kekkosf
    Allora se io ho 1120,55, devo sapere che questo è il codice poi devo operare catturando solo 120,55.
    Come posso fare ?
    non capisco :master:
    DYNAMIC+ [ E-mail ]

    Secondo me non si può fare!

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    184

    Allora

    Questa funzione è legata ad un OnBlur su inputazione codice.
    Premetto che come codice posso avere:
    4
    10,25
    120
    6120
    7920
    Questi Codici hanno "valori" intrinsechi diversi, ma ai fini dell'iva i primi 2 sono direttamente le percentuali, il terzo è il 4 prevedono un scorporo di un imponibile al 120 percento, il 4 è un aliquota al 20.

    function CalIva(Codice, Imponibile){
    if(Codice > 0.00 && Codice < 100){
    Normale(Codice, Imponibile, 0);
    }

    else if(Codice > 100 && Codice < 200) {
    Iva = Scorporo(Codice, Imponibile);
    }
    else if(Codice == 200) {

    }
    else if(Codice > 200 && Codice < 300) {
    Iva = Normale(Codice, Imponibile, 1);
    }
    else if(Codice > 300 && Codice < 400) {
    Iva = Normale(Codice, Imponibile, 1);
    }
    else if(Codice > 400 && Codice < 500) {
    Iva = Normale(Codice, Imponibile, 1);
    }
    else if(Codice > 500 && Codice < 600) {

    }
    else if(Codice > 600 && Codice < 800) {

    }
    else if(Codice > 800 && Codice < 900) {
    Iva = Normale(Codice, Imponibile, 1);
    }
    else if(Codice > 900 && Codice < 1000) {
    Iva = Normale(Codice, Imponibile, 1);
    }
    else if(Codice > 1100 && Codice < 1200) {
    Iva = Scorporo(Codice, Imponibile);
    }
    else if(Codice > 1300 && Codice < 1400) {
    Iva = Normale(Codice, Imponibile, 2);
    }
    else if(Codice > 1800 && Codice < 1900) {
    Iva = Normale(Codice, Imponibile, 2);
    }
    else if(Codice > 1900 && Codice < 2000) {
    Iva = Normale(Codice, Imponibile, 2);
    }
    else if(Codice > 3100 && Codice < 3200) {
    Iva = Normale(Codice, Imponibile, 2);
    }
    else if(Codice > 6100 && Codice < 6200) {
    Iva = Scorporo(Codice, Imponibile);
    }
    else if(Codice > 7300 && Codice < 7400) {
    Iva = Normale(Codice, Imponibile, 2);
    }
    else if(Codice > 7900 && Codice < 8000) {
    Iva = Normale(Codice, Imponibile, 2);
    }
    }


    function Normale(Codice, Imponibile, Part){
    Aliq = Codice.substr(Part,4);
    alert(Aliq);
    Iva = Imponibile*Aliq/100;
    document.QuadrIva.Imposta.value = Iva;
    }

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    184
    Arresi anche voi ?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.