如何左键填充浮点数的字符串表示?
-
06-07-2019 - |
题
我正在尝试将单精度浮点数转换为构成它的四个字节的ascii表示(符号/指数/尾数)。 我目前的代码是:
Integer.toString(Float.floatToRawIntBits(f),16);
Float.floatToRawIntBits
使用相同的字节生成一个整数,然后 Integer.toString
以十六进制形式创建ascii数字(因此指定了radix = 16)。我的问题是我总是需要8个ascii字符加上可选的' - '符号,而 Integer.toString
不是用左边的零填充。
有人能想出一个优雅的解决方案吗?
感谢。
解决方案
您可以使用 String.format():
String.format("%08x", Float.floatToRawIntBits(f))
这将对结果进行零填充并将其格式化为十六进制数。格式字符串的详细信息可以在这里找到。
不隶属于 StackOverflow