解析 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);
我想解析一个时间戳,一个像 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);