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

如何使用Java将数字格式化为Kb/Gb?,java,formatting,numbers,number-formatting,Java,Formatting,Numbers,Number Formatting,可能重复: 使用NumberFormat,我希望将我的数字格式化为科学乘法器。换句话说,我希望有以下格式: 1024的格式应为1K 1048576的格式应为1G 显然,其他数字应该用k,G和其他倍数来表示 我该怎么做?或者我需要一些Java库吗?大致上,这应该可以。关于正确的double格式,它需要一些改进 static String formatSize(double size) { String finalQ = ""; for (String q: new String[]

可能重复:

使用
NumberFormat
,我希望将我的数字格式化为科学乘法器。换句话说,我希望有以下格式:

  • 1024的格式应为1K
  • 1048576的格式应为1G
显然,其他数字应该用k,G和其他倍数来表示


我该怎么做?或者我需要一些Java库吗?

大致上,这应该可以。关于正确的
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;
}
静态字符串formatSize(双倍大小){
字符串finalQ=“”;
for(字符串q:新字符串[]{“k”、“M”、“G”}){
如果(尺寸<1024)断裂;
finalQ=q;
大小/=1024;
}
返回大小+最终数量;
}

大致上,这应该是可行的。关于正确的
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;
}
静态字符串formatSize(双倍大小){
字符串finalQ=“”;
for(字符串q:新字符串[]{“k”、“M”、“G”}){
如果(尺寸<1024)断裂;
finalQ=q;
大小/=1024;
}
返回大小+最终数量;
}

也许是这样

也许是这样

这可能会帮助你:这可能会帮助你:这是艾奥比的答案@MarkoTopolnik将否决我的问题,因为它是重复的。这是aioobe的答案@MarkoTopolnik将否决我的问题,因为它是重复的。