解析 Java 中的 Long 数字

Parse a Long number in Java

我想解析一个时间戳,一个像 14655**56648041** 这样的长数字。我想从这个 Long 数字创建另外两个 Long 数字,一个是最后四个数字 8041,第二个是 5664。我可以将数字转换为字符串,使用子字符串,然后再次将其转换为 Long,但我想知道是否有更简洁的方法?我尝试使用 %/ 但没有成功。

最后4位是num % 1E4,前四位是(num % 1E8 - (num % 1E4)) / 1E4

有。您可以通过对数字执行模 10000 来获得最后四个数字:

long last4 = all%10000;

还可以先除以10000再取模得到中间四位:

long midl4 = (all/10000)%10000;

或者把它们放在一起:

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);

jDoodle demo