diff --git a/CHANGELOG.md b/CHANGELOG.md index 74e3281ce..65d99f0fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ ### 🐣新特性 * 【http 】 HttpUtil增加closeCookie方法 +* 【core 】 NumberUtil增加方法decimalFormat重载(issue#I3OSA2@Gitee) ### 🐞Bug修复 ------------------------------------------------------------------------------------------------------------- diff --git a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java index 392e4ce63..b04cd9393 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java @@ -1054,7 +1054,35 @@ public class NumberUtil { * @since 5.1.6 */ public static String decimalFormat(String pattern, Object value) { - return new DecimalFormat(pattern).format(value); + return decimalFormat(pattern, value, null); + } + + /** + * 格式化double
+ * 对 {@link DecimalFormat} 做封装
+ * + * @param pattern 格式 格式中主要以 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置。
+ * + * @param value 值,支持BigDecimal、BigInteger、Number等类型 + * @param roundingMode 保留小数的方式枚举 + * @return 格式化后的值 + * @since 5.6.5 + */ + public static String decimalFormat(String pattern, Object value, RoundingMode roundingMode) { + final DecimalFormat decimalFormat = new DecimalFormat(pattern); + if(null != roundingMode){ + decimalFormat.setRoundingMode(roundingMode); + } + return decimalFormat.format(roundingMode); } /**