首页 > 编程知识 正文

bigdecimal取模(bigdecimal负数处理)

时间:2023-05-04 05:41:11 阅读:71878 作者:2756

一.比较大小

inta=bigdemical1.com Pareto (bigdecimal2) )。

//a=-1,表示bigdemical小于bigdemical2;

//a=0,表示bigdemical等于bigdemical2;

//a=1,表示bigdemical大于bigdemical2;

1、bigdecimal(0.1 )和new bigdecimal (0.1 )不相等

因为0.1不能准确地表示为双精度。 (或者说,在这种情况下,不能表示为有限长度的二进制小数。

另一方面,String的构建方法是完全可预测的。 写入new bigdecimal“”0.1时,将创建bigdecimal。 这正好与预期的0.1相同。 因此,通常建议优先使用String结构方法。

与2、0进行比较

Bigdecimal b=new Bigdecimal('0'等于BigDecimal.ZERO

二.加减乘除

//加减乘除:

bigdecimal bignum1=new bigdecimal (' 10 );

bigdecimal bignum2=new bigdecimal ('5);

BigDecimal bignum3=null;

可以与0,0,==0进行比较

//加法

bignum3=bignum1.add(bignum2);

System.out.println (是指(bignum3);

//减法

bignum3=bignum1. subtract (bignum2);

System.out.println (差为' bignum3);

//乘法

bignum3=bignum1. multiply (bignum2);

System.out.println ('乘积为' bignum3);

//除法

bignum3=bignum1.divide(bignum2);

System.out.println ()商为(bignum3);

3、四舍五入

bigdecimal num=new bigdecimal (2.225667 ); //一般这样写是最好的

int count=num.scale (;

system.out.println(count ); //6返回小数位数

1. ROUND_DOWN

bigdecimal b=new bigdecimal (2.225667 ).setScale(2) 2,BigDecimal.ROUND_DOWN );

系统. out.println (b ); //2.22直接去除多余的位数

2. ROUND_UP

bigdecimal c=new bigdecimal (2.224667 ).setScale(2) 2,BigDecimal.ROUND_UP );

系统. out.println (c; //2.23与上述相反,进位处理

3. ROUND_CEILING (增大)

天花板(向上)、正进位向上,负进位向上

bigdecimal f=new bigdecimal (2.224667 ).setScale(2) 2,BigDecimal.ROUND_CEILING );

系统. out.println (f; //2.23正数时,相当于BigDecimal.ROUND_UP

bigdecimal g=new bigdecimal (-2.225667 ) ).setScale(2) 2,BigDecimal.ROUND_CEILING );

系统. out.println (g; //-2.22负时,相当于BigDecimal.ROUND_DOWN

4. ROUND_FLOOR (变小)。

地板(下)、正数舍位下、负数进位下

bigdecimal h=new bigdecimal (2.225667 ).setScale(2) 2,BigDecimal.ROUND_FLOOR );

系统. out.println (h; //2.22正数时,相当于BigDecimal.ROUND_DOWN

bigdecimal I=new bigdecimal (-2.224667 ) ).setScale(2) 2,BigDecimal.ROUND_FLOOR );

system.out.println(I; //-2.23负时,相当于BigDecimal.ROUND_UP

5. ROUND_HALF_UP

bigdecimal d=new bigdecimal (2.225 ) ).setScale(2) 2,BigDecimal.ROUND_HALF_UP );

system.out.println (round _ half _ up ' d ); //2.23四舍五入(如果舍去部分=.5则向上舍入) ) ) ) ) ) ) ) ) ) ) )。

6. ROUND_HALF_DOWN

bigdecimal e=new bigdecimal (2.225 ) ).setScale(2) 2,BigDecimal.ROUND_HALF_DOWN );

system.out.println (round _ half _ down ) e; //2.22四舍五入(舍弃部分. 5则进位) ) ) )。

7. ROUND_HALF_EVEN

bigdecimal j=new bigdecimal (2.225 ) ).setScale(2) 2,BigDecimal.ROUND_HALF_EVEN );

system.out.println(j; //2.22如果舍弃部分左边的数字是偶数,则为ROUND_HALF_DOWN

bigdecimal k=new bigdecimal (2.215 ) ).setScale(2) 2,BigDecimal.ROUND_HALF_EVEN );

system.out.println(k; //2.22如果舍弃部分左边的数字为奇数,则设为ROUND_HALF_UP

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