<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 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
    今天,一朋友問了我一個問題:
         數(shù)A和數(shù)B
         要求A每高于(或低于)B 0.5,數(shù)C就相應增加或減少0.5。
         這個算法該怎么樣寫?
    很簡單的一個東西。但是要求精度不能丟失。
    查了查,原來可以用BigDecimal來實現(xiàn)。

    寫了個簡單的程序:
        public static double oprbigdecimal(double a,double b,double c){
            
    //轉(zhuǎn)換為bigdecimal
            BigDecimal bigA = new BigDecimal(Double.toString(a));
            BigDecimal bigB 
    = new BigDecimal(Double.toString(b));
            BigDecimal bigC 
    = new BigDecimal(Double.toString(c));
            
            
    //增加值,如果確定是加減相同值可以優(yōu)化的。
            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);
            }

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

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


    Ming
    E-Mail:zengmingcd@163.com

    主站蜘蛛池模板: 亚洲AV无码片一区二区三区| 亚洲中文字幕久在线| 色婷婷亚洲一区二区三区| 国产精品成人观看视频免费| 亚洲人成网站在线播放影院在线 | 1区1区3区4区产品亚洲| 三级网站在线免费观看| 亚洲永久精品ww47| 精品在线免费观看| 亚洲视频在线观看一区| 91短视频免费在线观看| 久久狠狠爱亚洲综合影院| 老司机在线免费视频| 亚洲精品无码av中文字幕| 国产精品无码素人福利免费| 美女露100%胸无遮挡免费观看 | 亚洲国产精品人人做人人爱| www成人免费视频| 亚洲国产三级在线观看| 97av免费视频| 亚洲午夜福利在线视频| 免费黄网在线观看| 久久精品免费大片国产大片| 亚洲国产一区二区a毛片| 人成午夜免费视频在线观看| 亚洲精品天堂无码中文字幕| www.亚洲色图.com| 日本在线免费播放| 亚洲色一区二区三区四区| 亚洲国产精品嫩草影院久久| 久久午夜无码免费| 亚洲精华液一二三产区| 亚洲国产精品综合久久一线| 无码免费一区二区三区免费播放| 国产精品亚洲精品观看不卡| 亚洲精品国产自在久久| 51精品视频免费国产专区| 国产精品亚洲专区无码不卡| 亚洲国产精品无码专区影院| 性色av免费观看| 国产成人精品一区二区三区免费|