大战熟女丰满人妻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) 瀏覽3296次

在 Java 中,當(dāng)我們?cè)谧兞壳笆褂秒p精度數(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ù)編號(hào)、結(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  
}  
}  

輸出:

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

使用 String.format() 方法

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

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

句法:

公共靜態(tài) 字符串格式(字符串格式,對(duì)象... 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);  
}  
}  

輸出:

雙號(hào):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 的枚舉。

我們?cè)谶@個(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);  
}  
}  

輸出:

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

 

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

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 欧美激情aa毛片 | 成人激情视频 | 国产高清在线精品一区二区 | 欧美专区在线 | 日韩一级不卡 | 性生生活三级视频观看 | 日韩va | 国产人成午夜免视频网站 | 精品一久久香蕉国产线看观看下 | 99视频这里有精品 | 99久久久国产精品免费牛牛四川 | 天天色天天做 | 天天艹在线 | 色婷婷久久 | 亚洲国产综合精品 | 91九色国产| 99热这里只有精品4 99热这里只有精品5 | 亚洲码和乱人伦中文一区 | 一级无毛片 | 欧美aaa毛片免费看 欧美aaa性bbb毛片 | 国产欧美日韩亚洲精品区2345 | 国产成人综合在线视频 | 西西做人爱免费视频 | 中文字幕精品在线视频 | 天天操天天爱天天干 | 欧美第一视频 | 国产亚洲欧美成人久久片 | 一区二区免费播放 | 毛片免费全部播放一级 | 欧美日韩小视频 | 国产91福利在线精品剧情尤物 | 激情四房 | 热思思久久 | 四虎影视免费永久在线观看黄 | 日韩aⅴ片 | 欧美国产成人免费观看永久视频 | 亚洲欧美人成人综合在线50p | 亚洲国产成人精品女人久久久 | 天天干夜夜添 | 久久国产精品伦理 | 国产精品夜色视频一区二区 |