JAVA金额格式化
package com.abc.utils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.math.BigDecimal;
import java.text.DecimalFormat;
public class MoneyFormatUtil {
private static final Logger logger = LoggerFactory.getLogger(MoneyFormatUtil.class);
public static String btos(BigDecimal amount) {
try {
String format = "#,###.00";
if (null == amount) {
return null;
}
amount = amount.setScale(2, BigDecimal.ROUND_DOWN);
if (amount.compareTo(new BigDecimal("0")) == -1 || amount.compareTo(new BigDecimal("1")) == -1 || amount.compareTo(new BigDecimal("0")) == 0) {
format = "#,###0.00";
}
DecimalFormat dformat = new DecimalFormat(format);
return dformat.format(amount);
} catch (Exception e) {
logger.error("MoneyFormat | method=btos() is error errorMsg:{}, error:{}", e.getMessage(), e);
}
return "0.00";
}
public static void main(String[] args) {
BigDecimal amount = new BigDecimal("1096.75");
System.out.println("===>>原始值:" + amount);
String btos = MoneyFormatUtil.btos(amount);
System.out.println(btos);
}
}