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

标签 java jsp

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

例如

11111.111 K

最佳答案

here 调整答案它应该看起来像

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

关于java - 如何在jsp中将数字转换为K千M百万和B十亿后缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9769554/

相关文章:

java - (3 部分)固定背景,其他元素滚动

java - 变量没有在 AsyncTask 的 doInBackground 方法中更新

java - "java.lang.IllegalArgumentException: id cannot be zero"将GAE实体发送到JSP时

java - Scene#getStylesheets() 中相对路径的路径原点是什么?

java - 如何在 Java 中比较字符串?

java - 为什么在 XML 中设置空文本节点不是错误?

java - i18n拦截器在Struts2中的使用

postgresql - 目标表未正确更新

jquery - 在 jsp 中提交表单后,我想查看将哪些值发送到 Controller

java - 我无法通过管理模块添加产品