Modulo sur un nombre trop grand

Résolu
Pulsar360 Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   -  
Pulsar360 Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   -
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   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 113 Date d'inscription   Statut Membre Dernière intervention   10
 
Merci KX.

Maintenant que j'ai trouver le modulo comment je fait pour le typer en un int?
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   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 113 Date d'inscription   Statut Membre Dernière intervention   10
 
Merci a toi KX !!!!!
0