首页 > 编程知识 正文

java除法取两位小数,java中bigdecimal的加减乘除

时间:2023-05-03 14:46:20 阅读:61075 作者:733

1、对于不需要准确计算精度的数字,可以直接使用浮点或双精度,但如果需要准确计算结果,则需要使用BigDecimal类

2、运算速度比普通的、----、*、/快

3、基本方法说明

将add(BigDecimal ) bigdecimal对象中的值相加并返回此对象。

减去subtract(BigDecimal ) bigdecimal对象的值并返回此对象。

multiply(BigDecimal )将bigdecimal对象中的值相乘并返回该对象。

将divide(BigDecimal ) bigdecimal对象中的值相除并返回此对象。

toString ()将BigDecimal对象中的数字转换为字符串。

doubleValue ()以双精度数返回BigDecimal对象的值。

floatValue ()以单精度数返回BigDecimal对象的值。

longValue ()以长整数形式返回BigDecimal对象的值。

intValue ) )以整数形式返回BigDecimal对象的值。

money.divide(newbigdecimal(100 ),2,BigDecimal.ROUND_HALF_DOWN ); 要设置小数点的格式,请保留两位数(100除外),然后使用四舍五入4,BigDecimal.setScale )方法

setscale(1)表示保留小数点后一位,默认情况下四舍五入

如果直接删除多余的小数(如2.35 ),则setscale(1,BigDecimal.ROUND_DOWN )为2.3

设置比例(1,BigDecimal.ROUND_UP )进位处理,2.35变为2.4

如果将setscale(1,BigDecimal.ROUND_HALF_UP )四舍五入为2.35,则为2.4

setscaler(1,BigDecimal.ROUND_HALF_DOWN )经过四舍五入,2.35变为2.3,如果为5,则为注释:

scale是指你的小数点后的位数。 例如,如果是123.456,则score为3。

score ()是BigDecimal类的方法吧。

例如, bigdecimal b=new bigdecimal (' 123.456 );

b.scale (),回来的是3。

roundingMode是小数预约模式。 这些都是BigDecimal的常数字段,有很多种。

例如,BigDecimal.ROUND_HALF_UP表示4舍5入。

pubilcbigdecimaldivide (bigdecimal divisor,int scale,int rounding模式) )。

我使用一个BigDecimal对象除以divisor的结果,要求结果中剩下scale个小数位数。

roundingMode指示预约模式是什么、四舍五入还是其他。 请自己选择。4:对于一般add、subtract、multiply方法的小数位格式化如下:

bigdecimal mdata=new bigdecimal (9.655 ) ).setScale(2) 2,BigDecimal.ROUND_HALF_UP;

5、与0比较

标准做法

bigdecimal big _ decimal=new bigdecimal ('3);

intr=big _ decimal.com Pareto (bigdecimal.zero ); //0,与Zero进行比较

if(r==0)//等于

if(r==1) /以上

小于if(r==-1 )//

或者

是否为if (big _ decimal.equals (bigdecimal.zero ) )//0

3358 www.Sina.com/viewplaincopybigdecimalad=new bigdecimal (' 20 );

bigdecimalsu=newbigdecimal('10 );

bigdecimalmu=newbigdecimal('5);

bigdecimaldi=newbigdecimal('30 );

bigdecimalas=ad.add(su; //正

bigdecimalsa=ad.subtract(su ).subtract ) mu; //负

bigdecimalMD=mu.multiply(di; //乘坐

bigdecimalDM=di.divide(mu; //除外

使用System.out.println (正as(as )负sa )负MD: ) MD (DM : ) DM除外);

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