首页 > 编程知识 正文

bigdecimal取余数,java除法取两位小数

时间:2023-05-05 22:57:52 阅读:147242 作者:878

BigDecimal加减乘除一、为什么要用BigDecimal二、简介三、四,要取剩余---除法运算时常用的五、BigDecimal的类型转换

一、为什么要使用BigDecimal

浮点型和双精度型的主要设计目标是为了科学计算和工程计算。 他们执行二进制浮点运算。 它是为了在广域的数值范围内提供更准确的快速近似计算而精心设计的。 但是,它们没有提供完全正确的结果,所以在需要正确结果的情况下不应该使用。 但是,业务计算通常要求结果的准确性,这种情况下使用BigDecimal。

二、轮廓BigDecimal由任意精度的整数非比例值和32比特的整数比例(scale )构成。 如果为零或正数,则比例为小数位数。 如果为负数,则该数的非比例值乘以10的负比例乘法。 因此,BigDecimal表示的数值是(unscaledValue 10-scale )。

三.BigDecimal 的创建

//对象创建方法bigdecimal bigdecimal=new bigdecimal (' 1000 ); //在内部方法中,bigdecimal B2=bigdecimal.value of (0.0 );BigDecimal 加法使用

bigdecimal big1=new bigdecimal (' 444 ); bigdecimal big2=bigdecimal.value of (222; bigdecimaladd=big1.add(big2; system.out.println (添加; //666 BigDecimal 减法使用

bigdecimal big1=new bigdecimal (' 444.2 ); bigdecimal big2=bigdecimal.value of ) 222.211; bigdecimal subtract=big1. subtract (big2); system.out.println(subtract; //221.989 BigDecimal 乘除法使用

bigdecimal big1=new bigdecimal (' 12 ); bigdecimal big2=bigdecimal.value of (2; //乘法bigdecimal multiply=big1. multiply (big2); system.out.println (多点); //除法bigdecimal divide=big1. divide (big 2; //24system.out.println(divide ); //6四,取馀数(可选择保留多少位馀数) -除法时常用的bigdecimal big1=new bigdecimal (' 12.2552 ) ); //直接删除多余的小数bigdecimal bigdecimal=big1. set scale (2,BigDecimal.ROUND_DOWN ); //进位处理12.2222---- 12.23 bigdecimal bigdecimal1=big1. set scale (2,BigDecimal.ROUND_UP ); //四舍五入12.2252----12.23----5时bigdecimal bigdecimal2=big1. set scale (2,BigDecimal.ROUND_HALF_UP ); //四舍五入12.2252 ---12.22 ----时bigdecimal bigdecimal3=big1. set scale (2,BigDecimal.ROUND_FLOOR ); //bigdecimal big2=new bigdecimal (' 10 ) )也可以直接用于运算。 //big1除big2外保留两位小数---两种方式均为bigdecimal divide=big1. divide (big 2,2,BigDecimal.ROUND_HALF_UP ); bigdecimal divide2=big1. divide (big 2,2,RoundingMode.HALF_UP ); 五. BigDecimal的类型转换bigdecimal divide=big1. divide (big 2,2,BigDecimal.ROUND_HALF_UP ); 即使我们使用BigDecimal完成计算结果,也不能直接签入或传递参数以向我们返回BigDecimal类型divide。 在那种情况下,需要转换为我们想要的数字类型

int i=divide.intValue (; long l=divide.longValue (; float v=divide.floatValue (; 参考:点击链接去往

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。