Auf Thema antworten

Hi ihr lieben,

wie wandelt man eine long in eine int Variable um?


Hintergrund:


ich will mir per if-Schleife die verstrichene Zeit ermitteln. Dafür frage ich die [ICODE][I][B]System.currentTimeMillis()[/B][/I][/ICODE] bei Programmstart ab und immer wenn ich die bis dahin verstrichen Programmlaufzeit wissen will, nochmal. Das ganze subtrahiert und zack.

Da [ICODE]System.currentTimeMillis()[/ICODE] jedoch eine long Variable beschreibt, und eine if-Schleife für die Abfrage eine int-Variable benötigt, muss ich das irgendwie umwandeln. Aber wie?

Denn [ICODE]int intZahl= (int) longZahl;[/ICODE] macht irgendwas und schmeißt meiner Logik nach für die hinteren Zeichen einfach die vorderen raus...


Auch habe ich es bereits mit [ICODE]int longToIntZahl = Math.toIntExact(longZahl);[/ICODE] versucht, da kann ich aber auch nur eine long-Variable bis zu einer Zeichenlänge, welche ich auch direkt in eine int-Variable packen kann, benutzen, anderfalls kommt: Exception in thread "AWT-EventQueue-0" java.lang.ArithmeticException: integer overflow... :confused:


Sämtliches gegoogle hat mir bisher auch nicht geholfen, such aber mal weiter und hoffe auf eine problemlösende Antwort.


Vielen Dank und liebe Grüße in Voraus



PS: Gibt es eine elegantere Lösung, um die verstrichene Zeit zu ermitteln, als mit dieser if-Konstruktion?

PPS: Ich habe versucht die Frage mit meinem Wissen so gut wie möglich zu schildern, darum bitte ich nicht alzu viel zu lachen, falls es etwas verwirrt klinkt (->konstruktive Kritik)



Oben