double类型数据的加减乘除java中double型数据的加减乘除,详细⽅法说明
Java代码
import java.math.BigDecimal;
/**
* 由于Java的简单类型不能够精确的对浮点数进⾏运算,这个⼯具类提供精确的浮点数运算,包括加减乘除和四舍五⼊。 */
public class DoubleUtils{
private static final int DEF_DIV_SCALE = 2;
bigdecimal除法保留小数/**
* @Description 两个Double数相加
*
* @param d1
* @param d2
* @return Double
*/
public static Double add(Double d1,Double d2){
BigDecimal b1 = new String());
BigDecimal b2 = new String());
return b1.add(b2).doubleValue();
}
/**
* @Description 两个Double数相减
*
* @param d1
* @param d2
* @return Double
*/
public static Double sub(Double d1,Double d2){
BigDecimal b1 = new String());
BigDecimal b2 = new String());
return b1.subtract(b2).doubleValue();
}
/**
* @Description 两个Double数相乘
*
* @param d1
* @param d2
* @return Double
*/
public static Double mul(Double d1,Double d2){
BigDecimal b1 = new String());
BigDecimal b2 = new String());
return b1.multiply(b2).doubleValue();
}
/**
* @Description 两个Double数相除
*
* @param d1
* @param d2
* @return Double
*/
public static Double div(Double d1,Double d2){
BigDecimal b1 = new String());
BigDecimal b2 = new String());
return b1.divide(b2,DEF_DIV_SCALE,BigDecimal.ROUND_HALF_UP).doubleValue();
}
/
**
* @Description 两个Double数相除,并保留scale位⼩数
*
* @param d1
* @param d2
* @param scale
* @return Double
*/
public static Double div(Double d1,Double d2,int scale){
if(scale<0){
throw new IllegalArgumentException(
"The scale must be a positive integer or zero");
}
BigDecimal b1 = new String());
BigDecimal b2 = new String());
return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue(); }
/**
* @Description String类型⼩数与Double类型的转换
*/
public static void StrToDouble(){
String str="1234.5678";
double num;
DecimalFormat myformat = new DecimalFormat("#0.00");
num = Double.parseDouble(str);//直接转换为double类型
num = Double.parseDouble(myformat.format(num));//保留2为⼩数
System.out.println(num);
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论