BigDecimal保留两位小数及格式化成百分比

更新时间:2023-06-25 04:33:59 阅读: 评论:0

BigDecimal保留两位⼩数及格式化成百分⽐
BigDecimal保留两位⼩数及格式化成百分⽐
唯美词语
在项⽬中经常会⽤到⼩数的⼀些计算,⽽float和double类型的主要设计⽬标是为了科学计算和⼯程计算。他们执⾏⼆进制浮点运算,这是为了在⼴域数值范围上提供较为精确的快速近似计算⽽精⼼设计的。然⽽,它们没有提供完全精确的结果,所以不应该被⽤于要求精确结果的场合。但是,商业计算往往要求结果精确。所以有时候必须要采⽤BigDecimal。
public class Demo {
public static void main(String[] args) {
BigDecimal a =null;
Integer faultRate = 6;
a = BigDecimal.valueOf(faultRate.doubleValue()/3);
BigDecimal  b =a.tScale(2, RoundingMode.HALF_UP);//保留两位⼩数
System.out.println("结果是"+b);
//下⾯将结果转化成百分⽐
cvc是什么意思>投资经理NumberFormat percent = PercentInstance();
percent.tMaximumFractionDigits(2);女人内裤
System.out.println(percent.format(b.doubleValue()));
}
}
风景海报
运⾏结果是:
轮胎十大品牌BigDecimal.tScale()⽅法⽤于格式化⼩数点
tScale(1)表⽰保留⼀位⼩数,默认⽤四舍五⼊⽅式
tScale(1,BigDecimal.ROUND_DOWN)直接删除多余的⼩数位,如2.35会变成2.3
薄煦来简历
tScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4
tScale(1,BigDecimal.ROUND_HALF_UP)四舍五⼊,2.35变成2.4
tScaler(1,BigDecimal.ROUND_HALF_DOWN)四舍五⼊,2.35变成2.3,如果是5则向下舍
tScaler(1,BigDecimal.ROUND_CEILING)接近正⽆穷⼤的舍⼊
tScaler(1,BigDecimal.ROUND_FLOOR)接近负⽆穷⼤的舍⼊,数字>0和ROUND_UP作⽤⼀样,数字<0和ROUND_DOWN作⽤⼀样
tScaler(1,BigDecimal.ROUND_HALF_EVEN)向最接近的数字舍⼊,如果与两个相邻数字的距离相等,则向相邻的偶数舍⼊。
注释:
1:scale指的是你⼩数点后的位数。⽐如123.456则score就是3.
score()就是BigDecimal类中的⽅法啊。
庐山古诗⽐如:BigDecimal b = new BigDecimal("123.456");
b.scale(),返回的就是3.
2:roundingMode是⼩数的保留模式。它们都是BigDecimal中的常量字段,有很多种。
⽐如:BigDecimal.ROUND_HALF_UP表⽰的就是4舍5⼊。
3:pubilc BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)
的意思是说:我⽤⼀个BigDecimal对象除以divisor后的结果,并且要求这个结果保留有scale个⼩数位,roundingMode表⽰的就是保留模式是什么,是四舍五⼊啊还是其它的,你可以⾃⼰选!
4:对于⼀般add、subtract、multiply⽅法的⼩数位格式化如下:
BigDecimal mData = new BigDecimal("9.655").tScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println("mData=" + mData);
----结果:----- mData=9.66

本文发布于:2023-06-25 04:33:59,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1033763.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:结果   要求   相邻
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图