一直在csdn中借阅,没有自己写过也算是第一篇博客,以后多多记录下来遇到的问题!!
对于项目中经常遇到金额的处理,如何优雅的展示金额提升可阅读性,有个好用的工具类分享给大家,下面看代码
千分位分隔符保留两位小数
import com.netfinworks.common.lang.StringUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
/**
* @Description: 格式化金额工具类
*/
public class FmtMicrometerUtil {
private static Logger logger = LoggerFactory.getLogger(FmtMicrometerUtil.class);
/**
* @Description: 四舍五入格式化金额,千分位,并保留两位小数
* @param money 字符串型金额
* @return String 格式化后金额(格式:12,345.67)
*/
public static String fmtMicrometer(String money) {
if(StringUtil.isBlank(money)) {
return null;
}
return fmtMicrometer(new BigDecimal(money));
}
/**
* @Description: 四舍五入格式化金额,千分位,并保留两位小数
* @param BigDecimal类型 金额
* @return String 格式化后金额(格式:12,345.67)
*/
public static String fmtMicrometer(BigDecimal money) {
if(null == money){
return null;
}
try {
DecimalFormat df = new DecimalFormat(",##0.00");
df.setRoundingMode(RoundingMode.HALF_UP);
return df.format(money);
} catch(Exception e) {
logger.error("格式化金额失败", e);
return null;
}
}
}