【问题标题】:How can I left-pad the string representation of a float?如何左填充浮点数的字符串表示形式?
【发布时间】:2010-11-05 07:25:49
【问题描述】:

我正在尝试将单精度浮点数转换为构成它的四个字节的 ascii 表示(符号/指数/尾数)。 我当前的代码是:

Integer.toString(Float.floatToRawIntBits(f),16);

Float.floatToRawIntBits 使用相同的字节生成一个整数,然后Integer.toString 以十六进制形式创建 ascii 数字(因此指定了 radix = 16)。我的问题是我总是需要 8 个 ascii 字符加上可选的“-”符号,而 Integer.toString 没有用左侧零填充。

谁能想出一个优雅的解决方案?

谢谢。

【问题讨论】:

    标签: java floating-point integer padding


    【解决方案1】:

    你可以使用String.format():

    String.format("%08x", Float.floatToRawIntBits(f))
    

    这将对结果进行零填充并将其格式化为十六进制数。格式字符串的详细信息可以在here找到。

    【讨论】:

    • 优雅且功能完善。非常感谢!!
    猜你喜欢
    • 2021-04-26
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2018-05-01
    • 2011-04-13
    • 2019-08-13
    • 2023-03-30
    相关资源
    最近更新 更多