将十六进制表示法转换为纬度小时和分钟

时间:2010-05-02 23:47:03

标签: java hex

假设:

  • 0x12E7代表48°39'
  • 0x3026代表123°26'

将这些纬度的表示转换为两个变量的最有效方式是什么:

  • 小时
  • 分钟

第一个例子是:

  • 小时= 48
  • 分钟= 39

第二个例子:

  • hours = 123
  • 分钟= 26

修改

纬度为int

3 个答案:

答案 0 :(得分:1)

如果您有String值:

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

或者您可以直接使用0x...格式:

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

答案 1 :(得分:1)

hours = 0x12E7 / 100;
minutes = 0x12E7 % 100;

答案 2 :(得分:1)

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