IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Manipulation de très grands nombres


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 266
    Points : 113
    Points
    113
    Par défaut Manipulation de très grands nombres
    Bonjour,
    Afin de vérifier la validité d'un code RIB, je dois effectuer un calcul sur un nombre de 21 chiffres. Ce numéro est stocké dans une chaine de caratère et je dois faire un modulo (%) de cette valeur pour recupérer le résultat de la division de ce grand nombre par 97. Si je prends ma chaine de caractère et si je lui applique le modulo, ca ne marche pas.
    Connaissez vous un moyen de faire ce genre de calcul??

  2. #2
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    fait voir le code que tu utilises ... parce que je vois pas bien en quoi ca marche pas ...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 266
    Points : 113
    Points
    113
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    $infolettre['A']=$infolettre['J']=$infolettre['1']='1';
    								$infolettre['B']=$infolettre['K']=$infolettre['S']=$infolettre['2']='2';
    								$infolettre['C']=$infolettre['L']=$infolettre['T']=$infolettre['3']='3';
    								$infolettre['D']=$infolettre['M']=$infolettre['U']=$infolettre['4']='4';
    								$infolettre['E']=$infolettre['N']=$infolettre['V']=$infolettre['5']='5';
    								$infolettre['F']=$infolettre['O']=$infolettre['W']=$infolettre['6']='6';
    								$infolettre['G']=$infolettre['P']=$infolettre['X']=$infolettre['7']='7';
    								$infolettre['H']=$infolettre['Q']=$infolettre['Y']=$infolettre['8']='8';
    								$infolettre['I']=$infolettre['R']=$infolettre['Z']=$infolettre['9']='9';
     
    								$cb = $_POST['cb1'].$_POST['cb2'].$_POST['cb3'];
    								$cb = strtoupper($cb);
    								for($i=0;$i<21;$i++)
    								{
    									t3lib_div::debug(array($cb[$i]));
    									$ncb.= $infolettre[$cb[$i]];
    								}
     
    								$cle= 97-((100*$ncb)%97);

  4. #4
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    tu peux nous donner un exemple, nous afficher ce que vaux $ncb etc ... je vais pas m'amuser à comprend tout ton script

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 266
    Points : 113
    Points
    113
    Par défaut
    En fait dans $ncb, je vais mettre une succession de chiffre sous forme de chaine de caractère. J'aurai donc une chaine de 21 caractères constitué uniquement de chiffres.
    J'aimerai juste pouvoir obtenir le resultat de (100*$ncb)%97), le probleme c'est qu'il me retourne toujours 0

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    hello,

    tiens ca peut ptet correspondre à tes besoins :

    http://fr.php.net/manual/fr/ref.bc.php

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 266
    Points : 113
    Points
    113
    Par défaut
    Mreci merci merci, c'est complètement fou cette librairie. Et encore merci pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Stratégie] Manipulation d'un grand nombre d'objet
    Par Aldouille31 dans le forum Langage
    Réponses: 8
    Dernier message: 10/05/2006, 14h01
  2. Précision d'un très très grand nombre
    Par sniperseb dans le forum Langage
    Réponses: 6
    Dernier message: 05/04/2006, 20h38
  3. Réponses: 2
    Dernier message: 22/12/2005, 19h16
  4. Trés grand nombre
    Par rteuteu55 dans le forum C++Builder
    Réponses: 10
    Dernier message: 15/11/2005, 12h28
  5. Une unité pour gérer des très grands nombres
    Par M.Dlb dans le forum Langage
    Réponses: 2
    Dernier message: 09/09/2003, 13h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo