<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    朙的學習筆記

    生活、學習、工作
    posts - 12, comments - 11, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
    今天,一朋友問了我一個問題:
         數A和數B
         要求A每高于(或低于)B 0.5,數C就相應增加或減少0.5。
         這個算法該怎么樣寫?
    很簡單的一個東西。但是要求精度不能丟失。
    查了查,原來可以用BigDecimal來實現。

    寫了個簡單的程序:
        public static double oprbigdecimal(double a,double b,double c){
            
    //轉換為bigdecimal
            BigDecimal bigA = new BigDecimal(Double.toString(a));
            BigDecimal bigB 
    = new BigDecimal(Double.toString(b));
            BigDecimal bigC 
    = new BigDecimal(Double.toString(c));
            
            
    //增加值,如果確定是加減相同值可以優化的。
            BigDecimal step = new BigDecimal("0.5");
            
            
    //計算差值
            BigDecimal dif = bigA.subtract(bigB);
            
            
    //如果差值在0.5的話。C+0.5
            
    //注意,這里比較時就不要用bigdecimal了。會有問題的
            if (dif.doubleValue() == 0.5)
            
    {
                bigC 
    = bigC.add(step);
            }

            
    //差值在-0.5的話。C-0.5
            if (dif.doubleValue() == -0.5)
            
    {
                bigC 
    = bigC.subtract(step);
            }

            
            
    //返回結果
            return bigC.doubleValue();
        }

    BigDecimal可以使用String類型的值來初始化對象。
    在BigDecimal中會將浮點數轉換 整型+精度 的表示方法。
    使用add(加)、subtract(減)、multiply(乘)、divide(除)時都會使用整型來計算。精度轉為大精度的。
    (注意divide除法需要指定保留精度和四舍五入)
    這樣就可以保護浮點數計算的精度了。


    Ming
    E-Mail:zengmingcd@163.com

    主站蜘蛛池模板: 久久99国产综合精品免费| 精品一区二区三区高清免费观看 | 国产精品色午夜免费视频| 亚洲无限乱码一二三四区| 91av视频免费在线观看| 亚洲嫩草影院在线观看| 国产精品久久久久免费a∨| 亚洲国产精品婷婷久久| 99在线视频免费| 亚洲人成片在线观看| 久久久久久久久免费看无码| 亚洲一区二区三区丝袜| 国产成人精品免费视频软件| 男女猛烈无遮掩视频免费软件| 污污网站免费观看| 亚洲欧洲第一a在线观看| 亚洲视频免费观看| 亚洲午夜无码毛片av久久京东热| 二级毛片免费观看全程| 久久被窝电影亚洲爽爽爽| 午夜免费福利视频| 国产精品亚洲精品青青青| 国产无遮挡裸体免费视频| 国产AV日韩A∨亚洲AV电影| 久久久久亚洲AV无码专区网站 | 亚洲国产成人精品无码区在线秒播| 国产亚洲精品美女久久久久| 亚洲第一页综合图片自拍| 三年片免费高清版 | 麻花传媒剧在线mv免费观看| 四虎必出精品亚洲高清| 中文字幕亚洲无线码| 日韩免费无码一区二区三区| 亚洲精品国产综合久久久久紧| 免费人成网站在线观看10分钟| 国产精品亚洲一区二区三区在线| 久久亚洲精品成人无码| 亚洲欧洲∨国产一区二区三区| 久久99精品免费一区二区| 亚洲美女一区二区三区| 亚洲第一区精品观看|