Java BigDecimal型的加减乘除运算不像C#那样容易。 必须调用方法。
加法:添加
减法: subtract
乘法:多重
除法: divide
请参阅以下代码。
bigdecimal bignum1=new bigdecimal (' 10 );
bigdecimal bignum2=new bigdecimal ('5);
BigDecimal bignum3=null;
//加法
bignum3=bignum1.add(bignum2);
System.out.println;
//减法
bignum3=bignum1. subtract (bignum2);
System.out.println;
//乘法
bignum3=bignum1. multiply (bignum2);
System.out.println ('乘法乘积: ' bignum3);
//除法
bignum3=bignum1.divide(bignum2);
System.out.println;
计算除法时,如果商需要无线循环小数,则异常的Java.lang.arithmetic exception 3360 non-terminatingdecimalexpansion; noexactrepresentabledecimalresult,必须设置小数分隔符! 例如:
bignum3=bignum1. divide (bignum 2,2,BigDecimal.ROUND_UP );
//整理好
bigdecimal BD=new bigdecimal (“12.1”
longL=BD.setscale(0,BigDecimal.ROUND_UP ).longValue ); //向上调整
longL=BD.setscale(0,BigDecimal.ROUND_DOWN ).longValue ); //调整到下面
要保留//小数位数(setScale ) )方法可以设置小数位数,并获取四舍五入/馀数
如果对//整数取馀数,则在DecimalFormat类中进行格式处理。 示例:
保持数值12小数点后2位:
decimal format df=new decimal format (' #.00 ';
bigdecimal date=df.format (new bigdecimal (12 );//日期为12.00