歡迎您訪問鄭州17.C1起草视频電子股(gǔ)份有限公司官方網站!
阿裏巴巴(bā)誠信通企業
全國谘詢熱線:40000-63966
17.C1起草视频電子,中國水控機第一(yī)品(pǐn)牌

聯(lián)係興(xìng)邦電子

全國谘詢熱線:40000-63966

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

BigDecimal類的簡單用法

文章出處(chù):http://www.10ybwg.org.cn 作者:興(xìng)邦開發部

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

 

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

一般來說,一(yī)提(tí)到(dào)Java裏麵的商業計算,我們都知道不能用float和double,因為他們無法進行精確計算。但是(shì)Java的設(shè)計(jì)者給編程(chéng)人(rén)員提供了一個很有用的類BigDecimal,他可以完善float和double類無(wú)法進行精確計算的缺憾。BigDecimal類位於java.maths類包下。首先我們來看下如何構造一個BigDecimal對象。它的構造(zào)函數很多,這裏(lǐ)挑選最常用的兩個(gè)來演示一下:一個就是BigDecimal(double val),另一個就是BigDecimal(String str)。這兩個看上去(qù)沒什麽太大區別,但是正像API描述中說的那樣:

 

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

運行後輸出:

10.123
10.1229999999999993320898283855058252811431884765625

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

另外,很多人(rén)會問到怎麽(me)將(jiāng)基本類型,如int,float,double,long,和(hé)BigDecimal對象(xiàng)相互轉(zhuǎn)換。很簡單:

基本類型通過構造函數轉(zhuǎn)換成對應的BigDecimal對象,而BigDecimal類提(tí)供了諸如intValue(), floatValue(), doublevalsue(), longValue()方法(fǎ)來將BigDecimal對(duì)象轉換成對應的值。

關於BigDecimal是如何計算(suàn)的,我以論(lùn)壇中一個人的提問帖子為例,來簡單的寫出(chū)BigDecimal的運算方法。題(tí)目是(shì):李白無事街上走,提壺去買酒。遇店加一倍,見花喝一鬥,五(wǔ)遇(yù)花(huā)和店,喝光壺中酒,試問李白壺中原有多少鬥酒?

這道(dào)題(tí)應該是從後往前推(tuī),並且要逆運算,最後得出原(yuán)有(yǒu)酒的體積。

運行結果:

0.96875

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

本(běn)文關鍵(jiàn)詞:BS一卡通,售飯,水控 [ ]
回到頂部
网站地图 17.C1起草视频-WWW.17C久久久嫩草-红桃17C.C18起草-17C一起草在线观看入口官网