Kann String in Integer in Java nicht konvertieren [duplizieren]

7

Ich habe eine Funktion zum Konvertieren von String in Integer

geschrieben %Vor%

Ich habe eine Zeichenfolge, die 6042076399 ist und es gab mir Fehler:

%Vor%

Ist das nicht der richtige Weg, um eine Zeichenkette in eine Ganzzahl umzuwandeln?

    
Ding 18.08.2010, 23:56
quelle

5 Antworten

7

So mache ich es am liebsten:

Bearbeiten (08/04/2015):

Wie im Kommentar unten erwähnt, ist das eigentlich besser so:

%Vor%     
Steve Pierce 19.08.2010, 03:27
quelle
8

Ein Integer kann diesen Wert nicht speichern. 6042076399 (413424640921 im Dezimalformat) ist größer als 2147483647, das Maximum, das eine Ganzzahl enthalten kann.

Versuchen Sie es mit Long.parseLong .

    
Borealid 18.08.2010 23:59
quelle
4

Das ist die korrekte Methode, aber Ihr Wert ist größer als die maximale Größe von int .

Die maximale Größe, die ein int halten kann, ist 2 31 - 1 oder 2.147.483.647. Ihr Wert beträgt 6.042.076.399. Sie sollten es als long speichern, wenn Sie einen primitiven Typ haben möchten. Der Maximalwert eines Long ist deutlich größer - 2 63 - 1. Eine andere Option könnte %Co_de% .

    
Thomas Owens 18.08.2010 23:59
quelle
2

Diese Zeichenfolge ist größer als Integer.MAX_VALUE. Sie können nicht etwas analysieren, das außerhalb des Bereichs von Ganzzahlen liegt. (sie gehen bis zu 2 ^ 31-1, glaube ich).

    
codersarepeople 18.08.2010 23:59
quelle
1

Zusätzlich zu dem, was andere beantwortet haben, können Sie, wenn Sie eine Folge von mehr als 8 Hexadezimalziffern (aber bis zu 16 Hexadezimalziffern) haben, diese mit Long.parseLong() anstelle von int mit% co_de in lang konvertieren %.

    
Frank 19.08.2010 00:03
quelle

Tags und Links