modulo 10
Calcul du chiffre-clé d'après le modulo 10, récursif
Pour le calcul du chiffre de contrôle dans des données des banques ou de la poste, un algorithme nommé "modulo 10 récursif" est parfois utilisé. La documentation des banques que j'ai vue présente un graphique démentiel et incompréhensible pour ce calcul. C'est utilisé dans des machins comme les bulletins "ESR", "BESR", "BVR", les numéros de compte etc.Voilà une version toute simple en Perl, adaptée à partir des versions C et Basic de cette page.
sub mod10 {
# take number without control digit, return control digit
my @nums = split //, shift;
my @T = (0, 9, 4, 6, 8, 2, 7, 1, 3, 5);
my $n = 0;
for (@nums) {
$n = $T[ ($n + $_) % 10 ];
}
return (10 - $n) % 10;
}
C'était finalement tout simple. Les gens des banques doivent être des gens bizarres...
Labels: perl
3 Comments:
Salut,
Cool d'avoir trouver ce code ... mais je cherche un version php, qui générerai completement les numéro de BVR. T'aurai pas une idée ?
Merci d'avance
Bonjour
Je cherche un logiciel installable sur le poste de la bibli pour calculer des clés Modulo10. est-ce que vous en connaissez, svp ?
Sinon, il y a cette page qui peut vous intéresser :
http://www.kalix.ch/bvr/
C'est un peu du "déterrage", mais peut-être que ça pourra aider quelqu'un: une classe en PHP qui génère entièrement la ligne de codage BVR > http://devandco.info/index.php/code/2-php/10-generating-bvr-number-for-swiss-postal-payment
Post a Comment
<< Home