2010-05-02 5 views
1

Étant donné:Convertir notation hexadécimale en heures latitudinales et minutes

  • 0x12E7 représente 48 ° 39'
  • 0x3026 représente 123 ° 26'

Quelle est la façon la plus efficace pour convertir la représentation de ces latitudes en deux variables:

  • heures
  • minutes

Lorsque le premier exemple serait:

  • heures = 48
  • minutes = 39

Et le second exemple:

  • heures = 123
  • minutes = 26

Modifier

Latitude est un int.

+0

Alors, est la représentation initiale d'une chaîne ou un entier ? – WhirlWind

Répondre

1
int l = 0x12E7; 
int h = l/100; 
int m = l % 100; 
System.out.printf("%d°%d'", h, m); // 48°39' 
+0

Merci pour cela. –

1

Si vous avez une valeur String:

int i = Integer.parseInt("12E7", 16); 
int hours = i/100; 
int minutes = i % 100; 

Ou vous pouvez utiliser le format 0x... directement:

int i = 0x12E7; 
int hours = i/100; 
int minutes = i % 100; 
+0

Si vous supprimez '0x' de la chaîne dans' Integer # parseInt() ', cela fonctionnera comme prévu. – BalusC

1
hours = 0x12E7/100; 
minutes = 0x12E7 % 100; 
Questions connexes