Modulo sur un nombre trop grand

Résolu
Pulsar360 Messages postés 133 Statut Membre -  
Pulsar360 Messages postés 133 Statut Membre -
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.
A voir également:

3 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
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 133 Statut Membre 10
 
Merci KX.

Maintenant que j'ai trouver le modulo comment je fait pour le typer en un int?
0
KX Messages postés 19031 Statut Modérateur 3 020
 
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 133 Statut Membre 10
 
Merci a toi KX !!!!!
0