0

有没有办法将浮点值转换为 java 或 jsp 标签中的百万和十亿格式。

eg:值 145,835,504 应该表示为 145.8M

这可以使用 jstl 中的任何格式标记来完成吗...?

4

1 回答 1

8

我不了解 JSP,但在 Java 中,您可以通过几个简单、易于编码的方法来完成此任务。

public String truncateNumber(float floatNumber) {
    long million = 1000000L;
    long billion = 1000000000L;
    long trillion = 1000000000000L;
    long number = Math.round(floatNumber);
    if ((number >= million) && (number < billion)) {
        float fraction = calculateFraction(number, million);
        return Float.toString(fraction) + "M";
    } else if ((number >= billion) && (number < trillion)) {
        float fraction = calculateFraction(number, billion);
        return Float.toString(fraction) + "B";
    }
    return Long.toString(number);
}

public float calculateFraction(long number, long divisor) {
    long truncate = (number * 10L + (divisor / 2L)) / divisor;
    float fraction = (float) truncate * 0.10F;
    return fraction;
}
于 2013-05-17T09:55:18.577 回答