如何使用Java将数字格式化为Kb/Gb?

Rid*_*del 0 java formatting numbers number-formatting

可能重复:
格式化文件大小为MB,GB等

使用NumberFormat,我想将我的数字格式化为科学乘数.换句话说,我想要以下格式:

  • 1024应格式化为1K
  • 1048576应格式化为1G

显然,其他数字应使用k,G和其他倍数表示.

我怎样才能做到这一点 ?或者我需要一些Java库?

Mar*_*nik 5

粗略地说,这应该工作.它需要一些关于正确double格式化的抛光.

static String formatSize(double size) {
  String finalQ = "";
  for (String q: new String[] {"k", "M", "G"}) {
    if (size < 1024) break;
    finalQ = q;
    size /= 1024;
  }
  return size + finalQ;
}
Run Code Online (Sandbox Code Playgroud)