有没有办法将浮点值转换为 java 或 jsp 标签中的百万和十亿格式。
eg:值 145,835,504 应该表示为 145.8M
这可以使用 jstl 中的任何格式标记来完成吗...?
我不了解 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;
}