[Java基础]-,
[Java基础]-,
一、BigDecimal隶属
属于java.Math.BigDecimal
二、常见的构造方法
BigDecimal(int) 创建一个具有参数所指定整数值的对象。
BigDecimal(double) 创建一个具有参数所指定双精度值的对象。
BigDecimal(long) 创建一个具有参数所指定长整数值的对象。
BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。
注意:一般情况下,如果要进行计算,优先使用String构造方法!
原因:1、由于double类型的不可预知性
2、String类型是可以预知的
方法举例:
@Test
public void testSubDouble(){
Double d=34.23d;
Float fl=2.15f;
String ds="2015.11";
String it="2015";
String ft="2015.116";
System.out.println(" double转换成String:"+Double.toString(d)+"----->"+Double.toString(d).getClass());
System.out.println(" float转成String :"+Float.toString(fl)+"----->"+Float.toString(fl).getClass());
System.out.println(" String转换成double:"+Double.valueOf(ds)+"----->"+Double.valueOf(ds).getClass());
System.out.println("String转换成Integer:"+Integer.valueOf(it)+"----->"+Integer.valueOf(it).getClass());
System.out.println(" String转换成float:"+Float.valueOf(ft)+"----->"+Float.valueOf(ft).getClass());
}
三、包含的方法
add(BigDecimal) BigDecimal对象中的值相加,然后返回这个对象。
subtract(BigDecimal) BigDecimal对象中的值相减,然后返回这个对象。
multiply(BigDecimal) BigDecimal对象中的值相乘,然后返回这个对象。
divide(BigDecimal) BigDecimal对象中的值相除,然后返回这个对象。
toString() 将BigDecimal对象的数值转换成字符串。
doubleValue() 将BigDecimal对象中的值以双精度数返回。
floatValue() 将BigDecimal对象中的值以单精度数返回。
longValue() 将BigDecimal对象中的值以长整数返回。
intValue() 将BigDecimal对象中的值以整数返回。
举例:
// 加法运算
public static double add(double d1, double d2) {
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.add(b2).doubleValue();
}
//减法运算
public static double sub(double d1, double d2) {
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.subtract(b2).doubleValue();
}
//乘法运算
public static double mul(double d1, double d2) {
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.multiply(b2).doubleValue();
}
//除法运算
public static double div(double d1, double d2, int len) {
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.divide(b2, len, BigDecimal.ROUND_HALF_UP).doubleValue();
}
//四舍五入
public static double round(double d, int len) {
BigDecimal b1 = new BigDecimal(d);
BigDecimal b2 = new BigDecimal(1);
// 任意一个数字除以1都等于原数
// ROUND_HALF_UP是BigDecimal的一个常量,
return b1.divide(b2, len, BigDecimal.ROUND_HALF_UP).doubleValue();
}
@Test
public void testBigDecimal(){
System.out.println("加法运算:" +add(2015.116,8.88));
System.out.println("乘法运算:" +mul(2015.116,8.88));
System.out.println("除法运算:" +div(2015.116,8.88, 3));
System.out.println("减法运算:" +sub(2015.116, 8.88));
}
相关文章
- 暂无相关文章
用户点评