有没有办法在java或jsp标签中将浮点值转换为百万和十亿格式。
例如:值145,835,504应表示为145.8M
可以使用jstl中的任何格式化标签来完成吗?
答案 0 :(得分:5)
我不了解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;
}
答案 1 :(得分:0)
答案 2 :(得分:-1)
您可以像这样将整数转换为一百万。值是整数
DecimalFormat df = new DecimalFormat("0.00M");
String formatted = df.format(value / 1000000.0).replace(",", ".")