我必须将以下 Delphi 代码转换为 Java:
function IntToHex(MyValue: Integer; MinimumWidth: Integer): Ansistring;
begin
AnsiStrings.FmtStr(Result, '%.*x', [MyValue, MinimumWidth]);
end;
IntToHex 函数将 DecimalValue 整数转换为至少 MinimumWidth 个字符宽的十六进制格式字符串。
我已经用 Java 实现了它:
public static String intToHex(int value)
{
return Integer.toHexString(value);
}
我是否需要在 Java 中指示结果字符串必须至少包含指定数量的数字,就像在 Delphi 中使用参数 MinimumWidth 一样? 我是否已经使用我的 Java 函数实现了 Delphi IntToHeX 函数的全部功能?
最佳答案
如果我正确理解你的问题,我认为你的解决方案应该是在 Java 中使用 String.format 如果你想在字符串中使用十六进制数字,你可以使用
String myFormattedString = String.format("%x", mynumber);
您可以在 x 之前指定长度,如
String myFormattedString = String.format("%4x", mynumber);
当然 mynumber 是一个 int 或任何其他类型的有效数字。 如果你想用零填充你应该使用
String myFormattedString = String.format("%04x", mynumber);
您可以使用大写 X 在结果字符串中包含大写字母
要了解有关格式选项的更多信息,您可以查看以下 URL:http://docs.oracle.com/javase/6/docs/api/java/util/Formatter.html#syntax
希望对你有帮助
关于java - 在 Delphi 和 Java 中将 Int 转换为 Hex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37410224/