黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

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

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

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

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

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

使用 DecimalFormat ("0.00")

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

使用 BigDecimal

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

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

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

句法:

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

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

我們使用了 DecimalFormat 類(lèi)的另一種方法是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;  
公共類(lèi) TwoDecimalPlace1    
{  
// DecimalFormat 類(lèi)的構(gòu)造函數(shù)  
私有靜態(tài)最終 DecimalFormat decfor =  new  DecimalFormat( "0.00" );    
公共靜態(tài)無(wú)效 主(字符串參數(shù) [])     
{  
//定義一個(gè)double類(lèi)型的數(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() 方法來(lái)格式化數(shù)字。它屬于 String 類(lèi)。通過(guò)使用該方法,可以相應(yīng)地格式化任何數(shù)字和字符串。

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

句法:

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

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

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

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

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

TwoDecimalPlace2.java

公共類(lèi) TwoDecimalPlace2   
{  
公共靜態(tài)無(wú)效 主(字符串參數(shù) [])     
{  
//定義一個(gè)double類(lèi)型的數(shù)字   
雙 數(shù)=  10.98765432167 ;  
System.out.println( "雙數(shù):"  + num);  
//使用以下兩個(gè)語(yǔ)句中的任何一個(gè)來(lái)保留兩位小數(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 類(lèi)來(lái)顯示最多兩位小數(shù)的數(shù)字。它屬于java.math.BigDecimal包。它擴(kuò)展了 Number 類(lèi)并實(shí)現(xiàn)了Comparable接口。

該類(lèi)提供了 setScale() 方法。語(yǔ)法如下:

句法:

setScale( int  newScale, RoundingMode roundingMode)  

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

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

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

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

如果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;  
公共類(lèi) TwoDecimalPlace3    
{  
公共靜態(tài)無(wú)效 主(字符串參數(shù) [])     
{  
//定義一個(gè)double類(lèi)型的數(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)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 人操人碰 | 国产成人精品免费视频动漫 | 躁天天躁中文字幕在线 | 免费性网站| 黄色网址在线免费看 | 国外免费一级 | 久久网免费视频 | 免费在线一级片 | 国产在线精品观看一区 | 免费高清伧理片午夜伧理片 | 久久精品久久精品国产大片 | 国产高清第一页 | 日本工里番h本无遮拦全彩 日本高清中文字幕在线观穿线视频 | 一本大道香焦在线视频 | www.色香蕉| 欧美日韩国产一区二区三区 | 成年人免费在线 | 日韩成人在线观看视频 | 国产成人福利免费视频 | 成人在线视频观看 | 最近中文字幕2019高清免费 | 国产凹凸在线观看一区二区 | 免费一级毛片在线播放视频 | 成人在免费视频手机观看网站 | 丝袜诱惑中文字幕 | 国产成社区在线视频观看 | 欧美日韩在线观看精品 | 英国一级毛片 | 日本成人一级片 | 小明成人看看 | 九九国产视频 | 369看片你懂的永久免费 | 涩涩福利网址导航 | 看全色黄大色黄女片爽毛片 | 开心激情婷婷 | 国产日韩欧美在线一二三四 | 99爱在线视频 | 免费国产之a视频 | 欧美成视频无需播放器 | 日韩成人精品 | 国产一区二区高清在线 |