gpt4 book ai didi

java - 负整数到十六进制转换

转载 作者:行者123 更新时间:2023-12-02 03:37:23 31 4
gpt4 key购买 nike

我正在将一些整数转换为十六进制,但我遇到的问题是当我传递一个负值将其转换为十六进制时。

示例:

String satpos = "13.0";
String satposs=satpos.replaceAll("\\.", "");
int satposition = Integer.parseInt(satposs);
String nids = Integer.toHexString(satposition);
String finished = nids+"0000";

在这种情况下,应用程序返回“820000”,这是我需要的正确值。但如果我通过了:

String satpos = "-7.0";
String satposs=satpos.replaceAll("\\.", "");
int satposition = Integer.parseInt(satposs);
String nids = Integer.toHexString(satposition);
String finished = nids+"0000";

应用程序返回“ffffffba0000”,但我应该得到“DCA0000”

感谢任何帮助。

最佳答案

根据 Andreas 的评论,这里有一个测试程序,可以打印您想要的值:

public class Test {
public static void main(String[] args) {
convert("13.0");
convert("-7.0");
}

private static void convert(String satpos) {
String satposs = satpos.replaceAll("\\.", "");
int satposition = Integer.parseInt(satposs);
if (satposition < 0) {
satposition += 3600;
}
String nids = Integer.toHexString(satposition);
String finished = nids + "0000";
System.out.println(finished);
}

}

如果角度为负,则加上 3600,因为角度为十分之一度。

关于java - 负整数到十六进制转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37286855/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com