【发布时间】:2013-02-10 18:22:51
【问题描述】:
int diny6h = Integer.parseInt(Integer.valueOf(diny6).toString(), 10);
int diny7h = Integer.parseInt(Integer.valueOf(diny7).toString(), 10);
diny6h=diny6h-32;
diny7h=diny7h-32;
System.out.println(diny6h + " + " + diny7h);
}
来电:diny6=30diny7=20
打印:diny6h=16diny7h=00
我想要什么:diny6h=10diny7h=00
我在这里做错了什么?
编辑: 好吧..这些数字以十六进制发送并以十进制接收,因为块中的其他数字(不是 diny6 和 7,而是 diny1 到 diny5)需要作为十六进制。但是 diny6 和 7 需要作为小数,但我无法以我想要的方式获得它们我想要发送一个 35(十六进制)它以 53(dec)的形式出现,应该打印为 10(dec)。同样的问题:想发送一个 20(十六进制),它是一个 32(十进制),应该打印为 0
简而言之:
我发送 35,收到 53,但我需要 35 将其减少 20 并获得 15...我该怎么做?
编辑:
我为昨天的混乱感到抱歉。我需要将收到的值转换为 BCD 数字...没有十六进制 ^^ 我现在应该删除这个问题吗?
【问题讨论】:
-
您真正想要实现什么?十进制的 30 不是十六进制的 10,十进制的 20 不是十六进制的 00
-
我相信这不是确切的打印输出。
-
您正在将整数转换为十六进制并使用
int变量来保存结果?你将如何表示 A 到 F 的“数字”?此外,这条线的意义是什么:Integer.parseInt(Integer.valueOf(diny7).toString(), 10);?假设diny7是一个字符串,然后将字符串转换为整数再将字符串转换为整数 - 嗯? -
sry,忘了提..传入的值减少了 20
-
你认为“十六进制”这个词是什么意思?因为据我所知,您的问题与十六进制无关。
标签: java parsing int hex valueconverter