如何在Java中使用BigDecimal

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)如何在Java中使用BigDecimal,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)長期為上千多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為懷安企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè),懷安網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

Java的特點(diǎn)有哪些

Java的特點(diǎn)有哪些 1.Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,實(shí)現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。 2.Java具有簡單性、面向?qū)ο?、分布式、安全性、平臺獨(dú)立與可移植性、動態(tài)性等特點(diǎn)。 3.使用Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。

1. 實(shí)例 BigDecimal 對象

通常會使用 String 和 int 構(gòu)造方法實(shí)例出 BigDecimal 對象,即

new BigDecimal(String val);

new BigDecimal(int val);

如參數(shù)為 double 類型,得先轉(zhuǎn)換成 String 類型再入?yún)?/p>

new BigDecimal(Double.toString(123.123));

2. BigDecimal 加減乘除

加減乘除都是用 BigDecimal 對象點(diǎn)(.)加減乘除方法入?yún)?BigDecimal 對象,返回的也是 BigDecimal 對象

加:BigDecimal add = new BigDecimal("123.123").add(new BigDecimal("123.123")); ---> 246.246

減:BigDecimal subtract = new BigDecimal("123.123").subtract(new BigDecimal("123.123")); ---> 0.000

乘:BigDecimal multiply = new BigDecimal("123.123").multiply(new BigDecimal("123.123")); ---> 15159.273129

除:BigDecimal divide = new BigDecimal("123.123").divide(new BigDecimal("123.123")); ---> 1

注:其中除法一般不會這樣直接除,在不能整除的情況下,這樣運(yùn)行程序是會報(bào)錯(cuò)的,所以一般除法會使用下面這個(gè)重載方法

new BigDecimal("10").divide("40",1,ROUND_HALF_UP); ---> 0.3

正常計(jì)算 10/40 結(jié)果為 0.25, 在這里是計(jì)算 十除以四十,保留一位小數(shù),四舍五入模式。所以得到的結(jié)果為 0.3

最常用的模式:

① ROUND_HALF_UP:四舍五入

② ROUND_HALF_DOWN:向下取舍(去掉保留小數(shù)位后面的小數(shù))

3. Scale 屬性操作

① 獲取小數(shù)的位數(shù):new BigDecimal("123.123").scale() ---> 3

② setScale() 方法保留幾位小數(shù)

- setScale(int NewScale):(注:入?yún)⒌臄?shù)字只能大于等于小數(shù)的位數(shù),括號中只能入?yún)⒋笥诘扔?3 的數(shù))

例: new BigDecimal("123.123").setScale(3) ---> 123.123

new BigDecimal("123.123").setScale(5) ---> 123.12300

- setScale(int newScale, RoundingMode roundingMode):

例:new BigDecimal("123.123").setScale(2,RoundingMode.HALF_UP) ---> 123.12

new BigDecimal("123.125").setScale(2,RoundingMode.HALF_UP) ---> 123.13

new BigDecimal("123.123").setScale(2,RoundingMode.HALF_DOWN) ---> 123.12

new BigDecimal("123.125").setScale(2,RoundingMode.HALF_DOWN) ---> 123.12

4. compareTo 比較大小

等于:new BigDecimal("123.123").compareTo(new BigDecimal("123.123"))==0 ---> true

new BigDecimal("123.123").compareTo(new BigDecimal("123.123")) ---> 0

如果 compareTo 的結(jié)果為 0 的話,就證明兩個(gè)對象相等(當(dāng)左邊不等于右邊時(shí),第一個(gè)表達(dá)式則為 false)

小于:new BigDecimal("123.122").compareTo(new BigDecimal("123.123")) < 0 ---> true

new BigDecimal("123.122").compareTo(new BigDecimal("123.123")) ---> -1

如果 compareTo 的結(jié)果為 -1 的話,就證明左邊小于右邊(當(dāng)左邊大于等于右邊時(shí),第一個(gè)表達(dá)式則為 false)

大于:new BigDecimal("123.124").compareTo(new BigDecimal("123.123")) > 0 ---> true

new BigDecimal("123.124").compareTo(new BigDecimal("123.123")) ---> 1

如果 compareTo 的結(jié)果為 1 的話,就證明左邊大于右邊(當(dāng)左邊小于等于右邊時(shí),第一個(gè)表達(dá)式則為 false)

上述就是小編為大家分享的如何在Java中使用BigDecimal了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享標(biāo)題:如何在Java中使用BigDecimal
瀏覽地址:http://muchs.cn/article44/pdjphe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、定制開發(fā)企業(yè)建站、營銷型網(wǎng)站建設(shè)、網(wǎng)站改版、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)