歡迎您訪問鄭州興邦電子股份有限公司官方網(wǎng)站!
    阿里巴巴誠信通企業(yè)
    全國咨詢熱線:40000-63966
    興邦電子,中國水控機第一品牌

    聯(lián)系興邦電子

    全國咨詢熱線:40000-63966

    售后:0371-55132951/55132952

    工廠:河南省 鄭州市 高新區(qū)蓮花街電子電器產(chǎn)業(yè)園

    BigDecimal類的簡單用法

    文章出處:http://www.xujuanpiju.com 作者:興邦開發(fā)部 人氣: 發(fā)表時間:2016年12月13日

    [文章內(nèi)容簡介]:BigDecimal類的簡單用法

     

    本文實例講述了Java中BigDecimal類的簡單用法,是Java程序設(shè)計中非常實用的技巧,分享給大家供大家參考。具體用法分析如下:

    一般來說,一提到Java里面的商業(yè)計算,我們都知道不能用float和double,因為他們無法進行精確計算。但是Java的設(shè)計者給編程人員提供了一個很有用的類BigDecimal,他可以完善float和double類無法進行精確計算的缺憾。BigDecimal類位于java.maths類包下。首先我們來看下如何構(gòu)造一個BigDecimal對象。它的構(gòu)造函數(shù)很多,這里挑選最常用的兩個來演示一下:一個就是BigDecimal(double val),另一個就是BigDecimal(String str)。這兩個看上去沒什么太大區(qū)別,但是正像API描述中說的那樣:

     

    也就是說利用double作為參數(shù)的構(gòu)造函數(shù),無法精確構(gòu)造一個BigDecimal對象,需要自己指定一個上下文的環(huán)境,也就是指定精確位。而利用String對象作為參數(shù)傳入的構(gòu)造函數(shù)能精確的構(gòu)造出一個BigDecimal對象。請看下面的代碼:

    運行后輸出:

    10.123
    10.1229999999999993320898283855058252811431884765625

    所以我們在選擇構(gòu)造函數(shù)時,要看具體需求而定。

    另外,很多人會問到怎么將基本類型,如int,float,double,long,和BigDecimal對象相互轉(zhuǎn)換。很簡單:

    基本類型通過構(gòu)造函數(shù)轉(zhuǎn)換成對應(yīng)的BigDecimal對象,而BigDecimal類提供了諸如intValue(), floatValue(), doubleValue(), longValue()方法來將BigDecimal對象轉(zhuǎn)換成對應(yīng)的值。

    關(guān)于BigDecimal是如何計算的,我以論壇中一個人的提問帖子為例,來簡單的寫出BigDecimal的運算方法。題目是:李白無事街上走,提壺去買酒。遇店加一倍,見花喝一斗,五遇花和店,喝光壺中酒,試問李白壺中原有多少斗酒?

    這道題應(yīng)該是從后往前推,并且要逆運算,最后得出原有酒的體積。

    運行結(jié)果:

    0.96875

    希望本文所述對大家Java程序設(shè)計的學習有所幫助。

    本文關(guān)鍵詞:BS一卡通,售飯,水控
    回到頂部