BigDecimal类型 自动转化单位(万\亿)工具类
import java.math.BigDecimal;
public class NumberUtil {
private static final String UNIT_STRING_WAN = "万";
private static final String UNIT_STRING_YI = "亿";
public static String formatNumber(BigDecimal amount) {
if (amount == null) {
return "0";
}
if (amount.compareTo(new BigDecimal(10000)) < 0) {
return amount.stripTrailingZeros().toPlainString();
}
if (amount.compareTo(new BigDecimal(10000000)) < 0) {
return amount.divide(new BigDecimal(10000), 2, BigDecimal.ROUND_DOWN).stripTrailingZeros().toPlainString() + UNIT_STRING_WAN;
}
return amount.divide(new BigDecimal(100000000), 2, BigDecimal.ROUND_DOWN).stripTrailingZeros().toPlainString() + UNIT_STRING_YI;
}
public static void main(String[] args) {
System.out.println(formatNumber(BigDecimal.valueOf(1888L)));
System.out.println(formatNumber(BigDecimal.valueOf(18888L)));
System.out.println(formatNumber(BigDecimal.valueOf(188888888L)));
}
}