在Delphi和Java中从Int转换为Hex

时间:2016-05-24 09:57:36

标签: java delphi int hex

我必须将以下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函数的全部功能?

1 个答案:

答案 0 :(得分:4)

如果我正确理解您的问题,我认为您的解决方案应该是在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在结果字符串

中包含大写字母

要获得有关格式选项的更多信息,您可以查看以下网址:http://docs.oracle.com/javase/6/docs/api/java/util/Formatter.html#syntax

希望这可以提供帮助