フロートの文字列表現を左詰めするにはどうすればよいですか?
-
06-07-2019 - |
質問
単精度浮動小数点数を、それを生成する4バイトのASCII表現(符号/指数/仮数)に変換しようとしています。 私の現在のコードは次のとおりです。
Integer.toString(Float.floatToRawIntBits(f),16);
Float.floatToRawIntBits
は同じバイトを使用して整数を作成し、 Integer.toString
は16進形式でASCII数字を作成します(したがって、基数= 16が指定されます)。私の問題は、8文字のASCII文字とオプションの「-」記号が常に必要であり、 Integer.toString
に左側のゼロが埋め込まれないことです。
誰もがエレガントなソリューションを思いつくことができますか?
ありがとう。
解決
String.format("%08x", Float.floatToRawIntBits(f))
これにより、結果にゼロが埋め込まれ、16進数としてフォーマットされます。フォーマット文字列の詳細については、こちらをご覧ください。 。
所属していません StackOverflow