方案一: DecimalFORMat df2 =new DecimalFormat("0.00"); String str2 =df2.format(new BigDecimal("0.00"));
方案一:
DecimalFORMat df2 =new DecimalFormat("0.00"); String str2 =df2.format(new BigDecimal("0.00")); System.out.println(str2); // 0.00
方案二:#0.00% 表示保留两位小数,.后几个零就是保留几位小数 %号表示会转成百分率。
DecimalFormat df2 =new DecimalFormat("#0.00%"); String str2 =df2.format(new BigDecimal("5.00")); // 500% System.out.println(str2); String str =df2.format(new BigDecimal("0.00")); // 0.00% System.out.println(str);
方案三:
String result = String.format("%.2f", new BigDecimal("5.2122")); System.out.println(result); // 5.21
方案四:保留两位小数,不四舍五入
public static void main(String[] args) { BigDecimal money= new BigDecimal("68686887"); //方法一 DecimalFormat decimal = new DecimalFormat("#0.00"); decimal.setRoundingMode(RoundingMode.DOWN); System.out.println(decimal.format(money)); //方法二 BigDecimal bigDecimal = new BigDecimal(money).setScale(2,BigDecimal.ROUND_DOWN); System.out.println(bigDecimal.toString()); }
金额以万元展示,保留两位小数
private static final String YUAN = "元";private static final String WAN = "万元"; private static String parseDecimal(BigDecimal money) { if (ObjectUtils.isEmpty(money)) { return null; } if (money.compareTo(new BigDecimal("10000")) < 0) { return money.toString() + YUAN; } if (money.compareTo(new BigDecimal("10000")) >= 0) { // 转换为万元(除以10000) money = money.divide(new BigDecimal("10000")); // 保留两位小数 DecimalFormat formater = new DecimalFormat("#0.00"); formater.setRoundingMode(RoundingMode.DOWN); return formater.format(money) + WAN; } return null;}
Bigdecimal 通常用来表示和金额相关的数字。
常用的方法有:
BigDecimal a.add(BigDecimal b)
BigDecimal对象中的值相加,返回BigDecimal对象
BigDecimal a.subtract(BigDecimal b)
BigDecimal对象中的值相减,返回BigDecimal对象
BigDecimal a.multiply(BigDecimal b)
BigDecimal对象中的值相乘,返回BigDecimal对象
BigDecimal a.divide(BigDecimal b)
BigDecimal对象中的值相除,返回BigDecimal对象
BigDecimal a.compareTo(BigDecimal b)
a和b进行大小比较,返回数字。
若返回-1,则a
若返回0,则a=b,
若返回1,则a>b
来源地址:https://blog.csdn.net/admin123404/article/details/129585292
--结束END--
本文标题: Java中BigDecimal保留两位小数
本文链接: https://www.lsjlt.com/news/390795.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-03
2024-04-03
2024-04-01
2024-01-21
2024-01-21
2024-01-21
2024-01-21
2023-12-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0