2009-06-23 7 views
3

私は単精度浮動小数点数をそれを作る4バイトのASCII表現に変換しようとしています(符号/指数/仮数)。 私の現在のコードは次のとおりフロートの文字列表現を左パッドにするにはどうしたらいいですか?

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

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

誰でも優雅なソリューションを考え出すことができますか?

ありがとうございました。

答えて

8

あなたはString.format()を使用することができます。

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

この結果、パッドをゼロと16進数として、それをフォーマットします。書式文字列の詳細はhereです。

+1

エレガントで完璧に機能します。どうもありがとう!! – apalopohapa

関連する問題