【发布时间】:2012-10-17 23:05:49
【问题描述】:
可能重复:
How to convert byte size into human readable format in java?
给定一个整数,我想使用公斤、兆、千兆等乘数以人类可读的方式打印它。如何选择“最佳”乘数?
这里有一些例子
1 print as 1
12345 print as 12.3k
987654321 print as 988M
理想情况下,打印的位数应该是可配置的,例如最后一个例子,3位988M,2位1.0G,1位1G,4位987.7M。
示例:我认为,当 OSX 告诉我必须复制多少字节时,Apple 使用了这种算法。
这将适用于 Java,但我对算法比对语言更感兴趣。
【问题讨论】:
-
我认为您的问题中有一些可靠的单元测试,您现在需要做的就是编写算法并测试每个案例,直到它们全部验证。只有你确切地知道你想要什么。从一对夫妇开始,直到他们验证,然后每次再做一个。
-
我希望我不必自己编写它...我几乎不认为我是第一个想要拥有该算法的人...
-
看看this answer。我认为它可以满足您的需求。
标签: algorithm formatting number-formatting