如何在jsp中将数字转换为K千万M和B亿后缀

如何在jsp中将数字转换为K千万M和B亿后缀

例如

11111.111 K

从这里调整答案应该看起来像

 public static String withSuffix(long count) { if (count < 1000) return "" + count; int exp = (int) (Math.log(count) / Math.log(1000)); return String.format("%.1f %c", count / Math.pow(1000, exp), "kMGTPE".charAt(exp-1)); } 

测试代码:

 for (long num : new long[] { 0, 27, 999, 1000, 110592, 28991029248L, 9223372036854775807L }) System.out.printf("%20d: %8s%n", num, withSuffix(num)); 

输出:

  0: 0 27: 27 999: 999 1000: 1.0 k 110592: 110.6 k 28991029248: 29.0 G 9223372036854775807: 9.2 E