Ich möchte einen Zeitstempel analysieren, eine lange Zahl wie 14655**56648041**
. Ich möchte aus dieser Long-Nummer zwei weitere Long-Nummern erstellen, eine mit den letzten vier Ziffern 8041
und die zweite mit 5664
. Ich kann die Zahl in String umwandeln, Teilstring verwenden und es dann wieder in Long konvertieren, aber ich möchte wissen, ob es einen saubereren Weg gibt? Ich versuchte, %
und /
zu verwenden, aber ist nicht erfolgreich.Parse eine lange Zahl in Java
0
A
Antwort
1
Es gibt. Sie können die letzten vier Zahlen erhalten, indem eine Modulo 10000
auf die Anzahl der Durchführung:
long last4 = all%10000;
Sie können weiterhin die mittleren vier Ziffern durch erste Teilungs erhalten durch 10000
und die wieder Modulo ausführen:
long midl4 = (all/10000)%10000;
Or Dass sie alle zusammen:
long all = 1465556648041L;
long last4 = all%10000;
long midl4 = (all/10000)%10000;
System.out.println("all="+all);
System.out.println("last4="+last4);
System.out.println("midl4="+midl4);
2
Die letzten 4 Stellen sind num % 1E4
und die vier bisherigen sind (num % 1E8 - (num % 1E4))/1E4
Nur zur Info, du wirst Tonnen von Downvotes für "nicht genug Forschung" bekommen. Ich werde upvote, aber das kann nur so viel tun. – RobotKarel314
Sind die Zahlen, die Sie von dieser langen Nummer 14655 ** 56648041 ** immer zwischen den * ziehen? Ich bin mir nicht sicher, dass es völlig klar ist, was Sie hier erreichen wollen. –
'n1 = num% 10000;' 'n2 = (num/10000)% 10000;' –