Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di moonba
    Registrato dal
    Jun 2007
    Messaggi
    649

    carattere di controllo del codice fiscale

    ciao a tutti,la domanda è questa,devo calcolare la lettera corrispondente al 16 carattere
    del codice fiscale.
    sono proprio all'ultimo punto in cui devo dividere i valori sommati per 26,e in base al risultato
    avere la corrispondente lettera del carattere di controllo.
    tutto ok fino a quando la divisione non mi da resto
    quindi:
    $valore = 6;
    $caratterecontrollo = array('0'=>a,'1'=>b,'2'=>c,'3'=>d,'4'=>e,'5'=>f,'6 '=>g,'7'=>h,'8'=>i,'9'=>j,'10'=>k,'11'=>l,'12'=>m, '13'=>n,'14'=>o,'15'=>p,'16'=>q,'17'=>r,'18'=>s,'1 9'=>t,'20'=>u,'21'=>v,'22'=>w,'23'=>x,'24'=>y,'25' =>z);
    foreach($caratterecontrollo as $k=>$v)
    {
    if($valore == $k)
    {
    $lettera = $v;
    }

    }
    echo $lettera;

    //se il valore è intero in questo caso 6 la lettera avrà valore g//

    ma se $valore = 5,6768669660
    io come ottengo il corrispondente valore di controllo?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    209
    arrotonda il numero con la funzione ceil($var)

    ceil arrotonda all'intero positivo più vicino

  3. #3
    Utente di HTML.it L'avatar di moonba
    Registrato dal
    Jun 2007
    Messaggi
    649

    ...

    qual'è la corrispondente funzione int() in php?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    209

    funzione ceil

    vedi:
    http://it.php.net/manual/it/function.ceil.php

    ma int() e una funzione che nn conosco? che cosa fa? che liguaggio è?

  5. #5

  6. #6
    Utente di HTML.it L'avatar di moonba
    Registrato dal
    Jun 2007
    Messaggi
    649

    non so bene

    c++!

    a parte questo non è che c'è qualcuno che si è imbattuto in tale avventura e sa come svolgere l'algoritmo.

    non capisco l'ultimo punto,esattamente questo:

    si sommano tutti i valori così ottenuti

    -si divide il valore calcolato al punto precedente per 26 e si considera il resto di tale divisione in base al risultato così ottenuto si cerca il carattere di controllo nella seguente tabella:

    non riesco a venirne fuori,o fatto un sacco di verifiche non riesco a trovare l'errore.
    il mio problema penso sia però in italiano,nel senso che che significa :

    -si considera il resto di tale divisione in base al risultato così ottenuto si cerca il carattere di controllo nella seguente tabella:

    -ad esempio vuol dire che se io ho una somma totale di 142
    -lo divido per 26
    -ottengo un valore che in questo caso è 5,4615384615384615384615384615385.
    -di questa cifra devo prendere unicamente il resto quindi 4615384615384615384615384615385 ed associarlo al corrispondente valore del carattere di controllo?

  7. #7
    Utente di HTML.it L'avatar di moonba
    Registrato dal
    Jun 2007
    Messaggi
    649

    ..questo invece

    sarebbe il mio codice:

    $tot = $dispari + $pari;//142 ALGORITMO PER TROVARE IL CARATTERE DI CONTROLLO
    $valore = 142 / 26; //Il resto della divisione fornirà il codice identificativo, ottenuto dalla seguente tabella di conversione:
    // echo round($valore,1);
    $caratterecontrollo = array('0'=>a,'1'=>b,'2'=>c,'3'=>d,'4'=>e,'5'=>f,'6 '=>g,'7'=>h,'8'=>i,'9'=>j,'10'=>k,'11'=>l,'12'=>m, '13'=>n,'14'=>o,'15'=>p,'16'=>q,'17'=>r,'18'=>s,'1 9'=>t,'20'=>u,'21'=>v,'22'=>w,'23'=>x,'24'=>y,'25' =>z);
    foreach($caratterecontrollo as $k=>$v)
    {
    if($valore == $k)
    {
    $lettera = $v;
    }

    }
    echo $lettera;

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    209
    <?php
    $cinque = ceil(4.3); // 5
    $dieci = ceil(9.999); // 10
    ?>
    arrotonda all'intero positivo sussivo quindi se il ris= 4,3 diventerà 5

    <?php
    echo floor(4.3); // 4
    echo floor(9.999); // 9
    ?>
    arrotonda all'intero positivo sussivo quindi se il ris= 4,3 diventerà 4

    oppure

    echo intval('42'); // 42

    ma vedi gli int non so bene fino a che numero possono arrotondare (mi sembra fino a 10 elevato a 6 ma non ne sono sicuro)

  9. #9
    Utente di HTML.it L'avatar di moonba
    Registrato dal
    Jun 2007
    Messaggi
    649

    grazie

    ho terminato anche quest'ultima parte del codice fiscale.
    -comunque sbagliavo proprio l'algoritmo per determinare l'ultimo passaggio
    -dovevo trovare il modulo,quindi fare ad esempio :
    142%26 e non 142/26.
    quindi non mi servivano quelle funzioni.

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.