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 Java Discussion :

Calcul modulo d'un grand chiffre


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 6
    Par défaut Calcul modulo d'un grand chiffre
    bonjour à tous,
    voila je doit calculer le modulo d'un chiffre sur 20 caractères!!
    en faisant: nbr1 % nbr2 (tel que nbr1 sur 20 caractères) ça ne me donne pas le résultat escompté!!

    en fait, je doit vérifier la clé d'un numéro de RIB qui est sur 20 caractères, suivant la règle suivante:

    Long numRIB=.....;
    Long cleRIB = 97 - (numRIB % 97)
    => la clé obtenue (cleRIB) ne correspond pas à la clé que je devrais trouver!!

    est ce que c'est la taille de la variable numRIB qui est en cause?

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Décembre 2009
    Messages : 67
    Par défaut
    Citation Envoyé par mimi_grebici Voir le message
    bonjour à tous,
    voila je doit calculer le modulo d'un chiffre sur 20 caractères!!
    en faisant: nbr1 % nbr2 (tel que nbr1 sur 20 caractères) ça ne me donne pas le résultat escompté!!

    en fait, je doit vérifier la clé d'un numéro de RIB qui est sur 20 caractères, suivant la règle suivante:

    => la clé obtenue (cleRIB) ne correspond pas à la clé que je devrais trouver!!

    est ce que c'est la taille de la variable numRIB qui est en cause?
    si le problem est le nombre de chiffre de la resultat esseye avec NumberFormat voici un petit exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     NumberFormat format = NumberFormat.getInstance();
            format.setMinimumFractionDigits(5); // ici 5 sa veut dire 5 chiffre apres la virgule
            String resultat = format.format(r);
           // on récupéré le résultat sous forme d'un string et r c'est la resultat de la division
    mais modulo sa te donne pas le reste de la division montre nous un exemple de résultat souhaité svp

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    20 caractères c'est au-dessus de la capacité des long.

    Avec une taille pareille, il faut utiliser BigInteger.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    final BigInteger BIG_97 = BigInteger.valueOf(97);
     
    BigInteger numRIB = new BigInteger("...");
    long cleRIB = 97 - numRIB.remainder(BIG_97).longValue();
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Modulo d'un grand nombre
    Par fred44220 dans le forum Mathématiques
    Réponses: 12
    Dernier message: 03/01/2011, 14h39
  2. Modulos sur des grands nombres
    Par DjPoke dans le forum Mathématiques
    Réponses: 2
    Dernier message: 07/08/2007, 15h32
  3. Type associé pour grand chiffre
    Par masseur dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/06/2007, 14h36
  4. Les grands chiffres !!
    Par omarfla dans le forum Flash
    Réponses: 4
    Dernier message: 16/06/2006, 17h24
  5. Modulo de très grands chiffres
    Par eponette dans le forum Langage
    Réponses: 8
    Dernier message: 07/09/2005, 09h06

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