标签:六入 BigDecimal setScale DOWN 27.6750 ROUND 小数
@Test public void TestBigDecimalRound() { // 1.BigDecimal.ROUND_HALF_UP表示四舍五入 BigDecimal roundHalfUp = new BigDecimal("27.6750").setScale(2, BigDecimal.ROUND_HALF_UP); System.out.println("27.6750-四舍五入-保留两位小数:" + roundHalfUp); /** * 输出: * 27.6750-四舍五入-保留两位小数:27.68 * * 分析:setScale(2, BigDecimal.ROUND_HALF_UP);表示对 * 27.6750-四舍五入-保留两位小数 */ // 2.BigDecimal.ROUND_HALF_DOWN也是五舍六入 BigDecimal roundHalfDownOne = new BigDecimal("27.6750").setScale(2, BigDecimal.ROUND_HALF_DOWN); BigDecimal roundHalfDownTwo = new BigDecimal("27.6751").setScale(2, BigDecimal.ROUND_HALF_DOWN); System.out.println("27.6750-五舍六入-保留两位小数:" + roundHalfDownOne); System.out.println("27.6751-五舍六入-保留两位小数:" + roundHalfDownTwo); /** * 输出: * 27.6750-五舍六入-保留两位小数:27.67 * 27.6751-五舍六入-保留两位小数:27.68 * * 分析:setScale(2, BigDecimal.ROUND_HALF_DOWN);表示对当前数据进行 * 五舍六入,舍弃的值一定要正好等于5或者小于5,,,比如27.6751, * 保留两位小数,舍弃的是0.0051,要大于0.0050,所以仍然会进一位。 */ // 3.BigDecimal.ROUND_UP表示进位处理(就是直接加1) BigDecimal roundUp = new BigDecimal("27.6750").setScale(2, BigDecimal.ROUND_UP); System.out.println("27.6750-进位处理:" + roundUp); /** * 输出: * 27.6750-进位处理:27.68 * * 分析:setScale(2, BigDecimal.ROUND_UP);表示对 * 第二位小数进行进位处理,并移除后面的小数 */ // 4.BigDecimal.ROUND_DOWN表示直接去掉尾数。 BigDecimal roundDown = new BigDecimal("27.6750").setScale(1, BigDecimal.ROUND_DOWN); System.out.println("27.6750-去掉尾数:" + roundDown); /** * 输出: * 27.6750-去掉尾数:27.6 * * 分析:setScale(1, BigDecimal.ROUND_DOWN);表示去掉 * 第一位小数后面的尾数 */ }
标签:六入,BigDecimal,setScale,DOWN,27.6750,ROUND,小数 来源: https://www.cnblogs.com/lu97/p/16222705.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。