我是靠谱客的博主 野性星月,这篇文章主要介绍double类型的运算,现在分享给大家,希望可以做个参考。

import java.math.BigDecimal;  
  
public class Arith {  
private static final int DEF_DIV_SCALE = 10;  
  
/** 
* * 两个Double数相加 * 
*  
* @param v1 * 
* @param v2 * 
* @return Double 
*/  
public static Double add(Double v1, Double v2) {  
   BigDecimal b1 = new BigDecimal(v1.toString());  
   BigDecimal b2 = new BigDecimal(v2.toString());  
   return new Double(b1.add(b2).doubleValue());  
}  
  
/** 
* * 两个Double数相减 * 
*  
* @param v1 * 
* @param v2 * 
* @return Double 
*/  
public static Double sub(Double v1, Double v2) {  
   BigDecimal b1 = new BigDecimal(v1.toString());  
   BigDecimal b2 = new BigDecimal(v2.toString());  
   return new Double(b1.subtract(b2).doubleValue());  
}  
  
/** 
* * 两个Double数相乘 * 
*  
* @param v1 * 
* @param v2 * 
* @return Double 
*/  
public static Double mul(Double v1, Double v2) {  
   BigDecimal b1 = new BigDecimal(v1.toString());  
   BigDecimal b2 = new BigDecimal(v2.toString());  
   return new Double(b1.multiply(b2).doubleValue());  
}  
  
/** 
* * 两个Double数相除 * 
*  
* @param v1 * 
* @param v2 * 
* @return Double 
*/  
public static Double div(Double v1, Double v2) {  
   BigDecimal b1 = new BigDecimal(v1.toString());  
   BigDecimal b2 = new BigDecimal(v2.toString());  
   return new Double(b1.divide(b2, DEF_DIV_SCALE, BigDecimal.ROUND_HALF_UP)  
     .doubleValue());  
}  
  
/** 
* * 两个Double数相除,并保留scale位小数 * 
*  
* @param v1 * 
* @param v2 * 
* @param scale * 
* @return Double 
*/  
public static Double div(Double v1, Double v2, int scale) {  
   if (scale < 0) {  
    throw new IllegalArgumentException(  
      "The scale must be a positive integer or zero");  
   }  
   BigDecimal b1 = new BigDecimal(v1.toString());  
   BigDecimal b2 = new BigDecimal(v2.toString());  
   return new Double(b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue());  
}  
}  

最后

以上就是野性星月最近收集整理的关于double类型的运算的全部内容,更多相关double类型内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(136)

评论列表共有 0 条评论

立即
投稿
返回
顶部