欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

[Java基础]-,

来源: javaer 分享于  点击 278 次 点评:28

[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));

 

}

相关文章

    暂无相关文章
相关栏目:

用户点评