質問

単精度浮動小数点数を、それを生成する4バイトのASCII表現(符号/指数/仮数)に変換しようとしています。 私の現在のコードは次のとおりです。

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

Float.floatToRawIntBits は同じバイトを使用して整数を作成し、 Integer.toString は16進形式でASCII数字を作成します(したがって、基数= 16が指定されます)。私の問題は、8文字のASCII文字とオプションの「-」記号が常に必要であり、 Integer.toString に左側のゼロが埋め込まれないことです。

誰もがエレガントなソリューションを思いつくことができますか?

ありがとう。

役に立ちましたか?

解決

String.format()

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

これにより、結果にゼロが埋め込まれ、16進数としてフォーマットされます。フォーマット文字列の詳細については、こちらをご覧ください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top