Je veux analyser un horodatage, un nombre long comme 14655**56648041**
. Je veux créer à partir de ce nombre long deux autres nombres longs, un avec les quatre derniers nombres 8041
et le second avec 5664
. Je peux convertir le nombre en chaîne, utiliser la sous-chaîne, puis le convertir à nouveau, mais je veux savoir s'il y a une manière plus propre? J'ai essayé d'utiliser %
et /
mais n'ai pas réussi.Analyser un nombre long en Java
0
A
Répondre
1
Il y a. Vous pouvez obtenir les quatre derniers numéros en effectuant un modulo 10000
sur le nombre:
long last4 = all%10000;
Vous pouvez en outre obtenir les quatre chiffres du milieu de première division par 10000
et effectuer à nouveau modulo:
long midl4 = (all/10000)%10000;
Ou mettre tous ensemble:
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
Les 4 derniers chiffres sont num % 1E4
et les quatre précédents sont (num % 1E8 - (num % 1E4))/1E4
Juste pour info, vous allez avoir des tonnes de downvotes pour "pas assez de recherche". Je vais upvote, mais cela ne peut que faire beaucoup. – RobotKarel314
Les numéros que vous tirez de ce numéro long 14655 ** 56648041 ** vont-ils toujours se trouver entre les *? Je ne suis pas sûr que ce que vous essayez d'accomplir ici soit entièrement clair. –
'n1 = num% 10000;' 'n2 = (num/10000)% 10000;' –