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

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

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

    about BigDecimal

    在java中做大數運算時要用到BigDecimal類。
    何謂大數?
        單精度浮點數:float--32位(4字節)--有效數字7位;
        雙精度浮點數:double--64位(8字節)--有效數字16位;
        超過double表示范圍的,一律用BigDecimal。
    關于BigDecimal的構造,需要從String構造,切記不可由double構造
        即不可用 new BigDecimal(double var) [X]
        而是通過 new BigDecimal(String var)
        原因參考http://hi.baidu.com/waiting__for__you/blog/item/967206ec863751d3b21cb170.html

        BigDecimal(double)是把一個double類型十進制數構造為一個BigDecimal對象實例。

    BigDecimal(String)是把一個以String表示的BigDecimal對象構造為BigDecimal對象實例。

    習慣上,對于浮點數我們都會定義為double或float,但BigDecimal API文檔中對于BigDecimal(double)有這么一段話:

    Note: the results of this constructor can be somewhat unpredictable. One might assume that new BigDecimal(.1) is exactly equal to .1, but it is actually equal to .10000000000000000555111512312578 27021181583404541015625. This is so because .1 cannot be represented exactly as a double (or, for that matter, as a binary fraction of any finite length). Thus, the long value that is being passed in to the constructor is not exactly equal to .1, appearances notwithstanding.

    The (String) constructor, on the other hand, is perfectly predictable: new BigDecimal(".1") is exactly equal to .1, as one would expect. Therefore, it is generally recommended that the (String) constructor be used in preference to this one

    下面對這段話做簡單解釋:

    注意:這個構造器的結果可能會有不可預知的結果。有人可能設想new BigDecimal(.1)等于.1是正確的,但它實際上是等于.1000000000000000055511151231257827021181583404541015625,這就是為什么.1不能用一個double精確表示的原因,因此,這個被放進構造器中的長值并不精確的等于.1,盡管外觀看起來是相等的。

    然而(String)構造器,則完全可預知的,new BigDecimal(“.1”)如同期望的那樣精確的等于.1,因此,(String)構造器是被優先推薦使用的。

    看下面的結果:

         System.out.println(new BigDecimal(123456789.02).toString());

          System.out.println(new BigDecimal("123456789.02").toString());

    輸出為:

    123456789.01999999582767486572265625

    123456789.02

    現在我們知道,如果需要精確計算,非要用String來夠造BigDecimal不可!





     

    posted on 2012-02-15 16:50 輕帆向南 閱讀(300) 評論(0)  編輯  收藏 所屬分類: oj


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    留言簿

    隨筆分類(13)

    隨筆檔案(13)

    文章分類

    最新評論

    主站蜘蛛池模板: 一级a性色生活片久久无少妇一级婬片免费放 | 色噜噜狠狠色综合免费视频 | 国产精品亚洲天堂| 成人毛片免费在线观看| 亚洲一区二区三区免费观看| 午夜视频在线免费观看| 亚洲AV成人片色在线观看高潮| 成人久久免费网站| 亚洲bt加勒比一区二区| 18禁超污无遮挡无码免费网站| 久久精品国产精品亚洲人人| 国产男女爽爽爽免费视频 | 亚洲欧洲日本在线观看| 最近中文字幕mv手机免费高清| 亚洲色大成WWW亚洲女子| 午夜一级免费视频| 看成年女人免费午夜视频| 亚洲AV无码专区日韩| 久久精品免费网站网| 久久精品亚洲综合专区| 亚洲精品免费在线| 亚洲香蕉久久一区二区三区四区| 亚洲免费电影网站| 亚洲欧美黑人猛交群| 亚洲国产天堂久久综合| 国产在线一区二区综合免费视频| 亚洲国产一区二区三区青草影视 | 精品国产亚洲AV麻豆| 亚洲中久无码永久在线观看同| 最近2019中文免费字幕在线观看| 午夜亚洲国产理论秋霞| 成年性生交大片免费看| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 国产V亚洲V天堂无码久久久| **毛片免费观看久久精品| 亚洲另类无码一区二区三区| 亚洲毛片av日韩av无码| 在线观看的免费网站无遮挡| 亚洲AV成人精品日韩一区| 亚洲精品无码乱码成人| 九九精品免费视频|