Modulo sur un nombre trop grand

Résolu/Fermé
Pulsar360 Messages postés 114 Date d'inscription lundi 12 novembre 2012 Statut Membre Dernière intervention 29 août 2018 - 7 sept. 2014 à 17:07
Pulsar360 Messages postés 114 Date d'inscription lundi 12 novembre 2012 Statut Membre Dernière intervention 29 août 2018 - 7 sept. 2014 à 22:49
Bonjour,

J'ai un String qui ne comporte que des chiffres et souhaiterais le caster en valeur numérique pour faire des calcule dessus, seulement la valeur et trop grande pour être contenue dans un int ou même dans un long.

Voici mon String:

String str = "8004101012192152260333563";

J'aimerais également trouver le modulo 85 de ce nombre et l'afficher avec System.out.println();

Qui c'est qui pourrais m'aider à résoudre mon problème???

La finalité c'est que je devrais trouver et afficher le nombre 33 dans la console normalement.

Merci.

3 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
7 sept. 2014 à 18:05
Bonjour,

Pour la manipulation de grands nombres tu as la classe BigInteger :

public static void main(String[] args)
{
    BigInteger a = new BigInteger("8004101012192152260333563");
    BigInteger b = BigInteger.valueOf(85);
    System.out.println(a.mod(b)); // 33
}
0
Pulsar360 Messages postés 114 Date d'inscription lundi 12 novembre 2012 Statut Membre Dernière intervention 29 août 2018 10
7 sept. 2014 à 20:18
Merci KX.

Maintenant que j'ai trouver le modulo comment je fait pour le typer en un int?
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
7 sept. 2014 à 20:32
Je t'ai donné un lien vers la documentation, dans les méthodes disponibles tu as
intValue()
.
Il faut bien sûr l'utiliser avec précaution et s'assurer que la valeur à convertir en int est bien inférieure à
Integer.MAX_VALUE
ou tu obtiendras une valeur fausse.
0
Pulsar360 Messages postés 114 Date d'inscription lundi 12 novembre 2012 Statut Membre Dernière intervention 29 août 2018 10
7 sept. 2014 à 22:49
Merci a toi KX !!!!!
0