重複の可能性:
Javaでバイトサイズを人間が読める形式に変換する方法は?
整数を指定すると、キロ、メガ、ギガなどの乗数を使用して、人間が読める方法で出力したいと思います。「最適な」乗数を選択するにはどうすればよいですか?
下記は用例です
1 print as 1
12345 print as 12.3k
987654321 print as 988M
理想的には、印刷される桁数は構成可能であるべきです。たとえば、最後の例では、3 桁で 988M、2 桁で 1.0G、1 桁で 1G、4 桁で 987.7M になります。
例: Apple は、OSX があと何バイトコピーする必要があるかを教えてくれるときに、この種のアルゴリズムを使用していると思います。
これはJava用ですが、言語よりもアルゴリズムに興味があります。