J'ai passé beaucoup de temps maintenant, en essayant de convertir le numéro 1.2846202978398e + 19 en Java, sans aucune chance. Actuellement, ce que j'essaie de faire (long)Double.parseDouble(hashes)
, mais cela donne 9223372036854775807, ce qui est évidemment incorrect. Le numéro actuel doit ressembler à ceci: 12855103593745000000.Conversion grand nombre scientifique à long
L'utilisation de int val = new BigDecimal(stringValue).intValue();
renvoie -134589568
car il ne peut pas contenir le résultat. Passer le code à long val = new BigDecimal(hashes).longValue();
me donne -5600541095311551616 qui est également incorrect.
Je suppose que cela se produit en raison de la taille d'un double par rapport à un long.
Des idées?
BigDecimal ?? biginteger ?? –
Copie possible de [Java: Convertir la notation scientifique en int normal] (https://stackoverflow.com/questions/2546147/java-convert-scientific-notation-to-regular-int) –
Question mise à jour pour refléter vos commentaires :) – Jazerix