国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java簡單類型進行精確浮點數運算

2019-11-17 06:11:06
字體:
來源:轉載
供稿:網友
  由于java的簡單類型不能夠精確的對浮點數進行運算,這個工具類提供精確的浮點數運算,包括加減乘除和四舍五入。

  以下為代碼:





import java.math.BigDecimal;

public class Arith {
  //默認除法運算精度
  PRivate static final int DEF_DIV_SCALE = 10;

  //這個類不能實例化
  private Arith(){
  }

  /**
   * 提供精確的加法運算。
   * @param v1 被加數
   * @param v2 加數
   * @return 兩個參數的和
   */
  public static double add(double v1,double v2){
    BigDecimal b1 = new BigDecimal(Double.toString(v1));
    BigDecimal b2 = new BigDecimal(Double.toString(v2));
    return b1.add(b2).doubleValue();
  }

  /**
   * 提供精確的減法運算。
   * @param v1 被減數
   * @param v2 減數
   * @return 兩個參數的差
   */
  public static double sub(double v1,double v2){
    BigDecimal b1 = new BigDecimal(Double.toString(v1));
    BigDecimal b2 = new BigDecimal(Double.toString(v2));
    return b1.suBTract(b2).doubleValue();
  }

  /**
   * 提供精確的乘法運算。
   * @param v1 被乘數
   * @param v2 乘數
   * @return 兩個參數的積
   */

 







  public static double mul(double v1,double v2){
    BigDecimal b1 = new BigDecimal(Double.toString(v1));
    BigDecimal b2 = new BigDecimal(Double.toString(v2));
    return b1.multiply(b2).doubleValue();
  }

  /**
   * 提供(相對)精確的除法運算,當發生除不盡的情況時,精確到
   * 小數點以后10位,以后的數字四舍五入。
   * @param v1 被除數
   * @param v2 除數
   * @return 兩個參數的商
   */
  public static double div(double v1,double v2){
    return div(v1,v2,DEF_DIV_SCALE);
  }

  /**
   * 提供(相對)精確的除法運算。當發生除不盡的情況時,由scale參數指
   * 定精度,以后的數字四舍五入。
   * @param v1 被除數
   * @param v2 除數
   * @param scale 表示表示需要精確到小數點以后幾位。
   * @return 兩個參數的商
   */
  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(Double.toString(v1));
    BigDecimal b2 = new BigDecimal(Double.toString(v2));


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洛阳市| 射洪县| 临澧县| 德惠市| 甘谷县| 武胜县| 广德县| 天全县| 长寿区| 六枝特区| 赤峰市| 宿迁市| 江津市| 南阳市| 黄山市| 江孜县| 滨州市| 阿拉尔市| 昌平区| 望江县| 华坪县| 二连浩特市| 阿瓦提县| 榕江县| 巴彦淖尔市| 安阳市| 曲麻莱县| 广水市| 上高县| 克山县| 克东县| 二连浩特市| 扶余县| 醴陵市| 中宁县| 论坛| 济源市| 云安县| 丘北县| 莱州市| 岱山县|