大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java顯示雙精度至小數(shù)點(diǎn)后兩位的方法

Java顯示雙精度至小數(shù)點(diǎn)后兩位的方法

更新時(shí)間:2022-10-12 10:38:49 來源:動(dòng)力節(jié)點(diǎn) 瀏覽3362次

在 Java 中,當(dāng)我們在變量前使用雙精度數(shù)據(jù)類型時(shí),它表示小數(shù)點(diǎn)后 15 位。但有時(shí)我們只需要小數(shù)點(diǎn)后兩位小數(shù),比如代表盧比和其他單位。因此,在本節(jié)中,我們將討論顯示雙精度至小數(shù)點(diǎn)后兩位的方法以及適當(dāng)?shù)氖纠?Java 程序。

Java 提供了以下三種方法來顯示 2 位小數(shù)的雙精度:

使用 DecimalFormat ("0.00")

使用 String.format() 方法 ("%.2f")

使用 BigDecimal

讓我們一一討論上述方法。

使用十進(jìn)制格式

Java DecimalFormat是 NumberFormat 類的具體子類,用于格式化十進(jìn)制數(shù)。該類提供了setRoundingMode()方法來顯示最多兩位小數(shù)的雙精度數(shù)。

句法:

公共無效 setRoundingMode(RoundingMode 舍入模式)   

它接受舍入模式作為參數(shù)并覆蓋NumberFormat類的 setRoundingMode() 方法。如果我們沒有指定任何 roundingMode ,它會(huì)拋出NullPointerException 。

我們使用了 DecimalFormat 類的另一種方法是format()方法。它格式化一個(gè)字符串以產(chǎn)生一個(gè)字符串。

句法:

public  StringBuffer 格式(雙 數(shù),StringBuffer 結(jié)果,F(xiàn)ieldPosition fieldPosition)  

該方法接受三個(gè)參數(shù)編號、結(jié)果和位置。但最后兩個(gè)參數(shù)是可選的。它返回格式化的數(shù)字字符串。如果RoundingMode設(shè)置為UNNECESSARY,該方法將引發(fā)ArithmeticException 。

TwoDecimalPlace1.java

導(dǎo)入 java.math.RoundingMode;  
導(dǎo)入 java.text.DecimalFormat;  
公共類 TwoDecimalPlace1    
{  
// DecimalFormat 類的構(gòu)造函數(shù)  
私有靜態(tài)最終 DecimalFormat decfor =  new  DecimalFormat( "0.00" );    
公共靜態(tài)無效 主(字符串參數(shù) [])     
{  
//定義一個(gè)double類型的數(shù)字   
雙 數(shù) =  123.9876543567 ;  
System.out.println( "雙數(shù):"  + num);  
System.out.println( "雙數(shù):"  + decfor.format(num));    //123.99  
//十進(jìn)制格式,默認(rèn)為RoundingMode.HALF_EVEN  
decfor.setRoundingMode(RoundingMode.DOWN);  
System.out.println( "\n四舍五入前:"  + decfor.format(num));  //123.98  
decfor.setRoundingMode(RoundingMode.UP);  
System.out.println( "四舍五入后:"  + decfor.format(num));    //123.99  
}  
}  

輸出:

雙號:123.9876543567
雙數(shù):123.99
舍入前:123.98
四舍五入后:123.99

使用 String.format() 方法

Java 還提供了 format() 方法來格式化數(shù)字。它屬于 String 類。通過使用該方法,可以相應(yīng)地格式化任何數(shù)字和字符串。

為了將數(shù)字更改為最多兩位小數(shù),我們使用%.2f來格式化數(shù)字。請注意,我們不能在 String.format() 方法中四舍五入,總是四舍五入。

句法:

公共靜態(tài) 字符串格式(字符串格式,對象... args)   

該方法接受以下兩個(gè)參數(shù):

格式:這是我們想要的格式化字符串。

args:這些是格式字符串中格式說明符引用的參數(shù)。

它返回格式化的字符串。如果格式字符串包含非法語法,則拋出IllegalFormatException 。如果我們將格式指定為 null,它也會(huì)拋出NullPointerException 。

TwoDecimalPlace2.java

公共類 TwoDecimalPlace2   
{  
公共靜態(tài)無效 主(字符串參數(shù) [])     
{  
//定義一個(gè)double類型的數(shù)字   
雙 數(shù)=  10.98765432167 ;  
System.out.println( "雙數(shù):"  + num);  
//使用以下兩個(gè)語句中的任何一個(gè)來保留兩位小數(shù)都給出相同的結(jié)果  
System.out.println( "雙數(shù):"  + String.format( "%.2f" , num));  
System.out.format( "雙數(shù):%.2f" , num);  
}  
}  

輸出:

雙號:10.98765432167
雙數(shù):10.99
雙數(shù):10.99

使用 BigDecimal

我們還可以使用 Java BigDecimal 類來顯示最多兩位小數(shù)的數(shù)字。它屬于java.math.BigDecimal包。它擴(kuò)展了 Number 類并實(shí)現(xiàn)了Comparable接口。

該類提供了 setScale() 方法。語法如下:

句法:

setScale( int  newScale, RoundingMode roundingMode)  

該方法接受兩個(gè)參數(shù):

newScale:要返回的 BigDecimal 值的小數(shù)位數(shù)。

roundingMode:我們要應(yīng)用的舍入模式。

它返回 BigDecimal,其標(biāo)度為指定值,其未標(biāo)度值通過將此 BigDecimal 的未標(biāo)度值乘以或除以適當(dāng)?shù)?10 次方來確定,以保持其整體值。

如果RoundingMode設(shè)置為UNNECESSARY,該方法將引發(fā)ArithmeticException。RoundingMode 是提供上述 RoundingMode 的枚舉。

我們在這個(gè)程序中使用的另一種方法是BigDecimal.doubleValue()。它將 BigDecimal 轉(zhuǎn)換為雙精度數(shù)。讓我們看一個(gè)例子。

TwoDecimalPlace3.java

導(dǎo)入 java.math.BigDecimal;  
導(dǎo)入 java.math.RoundingMode;  
公共類 TwoDecimalPlace3    
{  
公共靜態(tài)無效 主(字符串參數(shù) [])     
{  
//定義一個(gè)double類型的數(shù)字   
雙 數(shù)=  12.4565652239 ;  
System.out.println( "雙數(shù):"  + num);  
BigDecimal bd =  new  BigDecimal(num).setScale( 2 , RoundingMode.HALF_UP);  
雙 newNum = bd.doubleValue();  
System.out.println( "最多保留兩位小數(shù):"  + newNum);  
}  
}  

輸出:

雙號:12.4565652239
最多兩位小數(shù):12.46

 

提交申請后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 亚洲精品91 | 色综合天天综一个色天天综合网 | 亚洲天堂久久精品 | 老妇毛片久久久久久久久 | 免费国产一区二区三区 | 成人久久伊人精品伊人 | 国产香蕉视频 | 欧美日韩中文国产一区 | 国产亚洲精品热视频在线观看 | 天天综合天天看夜夜添狠狠玩 | 免费视频久久看 | 久久福利资源国产精品999 | 精品天海翼一区二区 | 国产欧美二区三区 | 国产黄色自拍 | 男女拍拍视频黄的全免费 | 欧美乱妇在线观看 | 99热黄色| 女人18毛片一级毛片在线 | 欧洲成人免费高清视频 | 一区二区中文字幕在线观看 | 成人午夜精品久久久久久久小说 | 成人合集大片bd高清在线观看 | 色综合天天综一个色天天综合网 | 国产欧美成人xxx视频 | 五月婷婷一区 | 69毛片 | 婷婷在线网 | 中文字幕在线观看一区 | 在线观看国产精品入口 | 在线观看亚洲精品国产 | 中文字幕一区二区三区免费看 | 99久久精品国产综合男同 | 久久国产精品99精品国产987 | 久久综合综合久久97色 | 国产精品a在线观看香蕉 | 99re在线| 久久中精品中文 | 亚洲视频1区 | 成人 亚洲 | 精品理论片一区二区三区 |