Integer和BigDecimal转换
(一)???????????? Integer类型
1).????? 定义
Integer a=new Integer(int value);
Integer a=new Integer(String value);
2).????? 转换?
??????????????????????i.????????????? 定义中就可以将int型和String型的转换为Integer型?
??????????????????????ii.????????????? String类型转换为Integer型
????????????????????????????????????? Integer.valueOf("");
????????????????????????????????????? Integer.getInteger("");
????????????????????? iii.????????????? String、Integer类型转换为int型
???????????????????????????????????? Integer.parseInt("");
???????????????????????????????????? Integer a;
???????????????????????????????????? a.intValue();
????????????????????? iv.????????????? 上面定义的Integer a转换为float, double, long?
???????????????? a.floatValue();
???????????????? a.doubleValue();
???????????????? a.longValue();
?????????????????????? v.????????????? Integer? a转换为String(其它的类型转换为String都可通用以下方法)
??????????????????????????????????? ? toString();
????????????????????????????????????? String.valueOf(a);
3).????? 比较(比较的数Integer a)
???????????????????????? i.????????????? Int num=a.compareTo(Integer anotherInteger);
如果该 Integer 等于 Integer 参数,则返回 0 值;如果该 Integer 在数字上小于 Integer 参数,则返回小于 0 的值;如果 Integer 在数字上大于 Integer 参数,则返回大于 0 的值(有符号的比较)。
?????????????????????? ii.????????????? 转换为int型再比较:
a.intValue()与b.intValue比较大小;
(二)???????????? BigDecimal
1).????? 定义
BigDecimal a=new BigDecimal(String; val)
BigDecimal a=new BigDecimal(double val);
2).????? 转换?
???????????????????????i.????????????? 定义中就可以将String型和double 型的转换为BigDecimal型
?????????????????????? ii.???????????? BigDecimal转换为 Int,float, double, long?????????
?????????????????a.floatValue();
???????????????? a.doubleValue();
???????????????? a.longValue();
???????????????? a.intValue();
????????????????????? iii.????????????? BigDecimal a转换为String(其它的类型转换为String都通用以下方法)
toString();
String.valueOf(a);
3).????? 比较(比较的数BigDecimal a)
Int num=a.compareTo(BigDecimalanotherBigDecimal);
当此BigDecimal在数字上小于、等于或大于 val 时,返回 -1、0 或 1。
BigDecimal取其中最大、最小值、绝对值、相反数:?
a.max (b) //比较取最大值
a.min(b) //比较取最小值
a.abs()//取最绝对值
a.negate()//取相反数
4).????? 计算
????? 加:?? a.add(b);?
??????减: a.subtract(b);
????? 乘:?? a.multiply(b);
????? 除:?? a.divide(b,2);//2为精度取值
?