欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JAVA把結(jié)果保留兩位小數(shù)的3種方法舉例

 更新時(shí)間:2024年08月21日 10:38:37   作者:非非從零學(xué)IT  
在寫程序的時(shí)候,有時(shí)候可能需要設(shè)置小數(shù)的位數(shù),所以下面這篇文章主要給大家介紹了關(guān)于JAVA把結(jié)果保留兩位小數(shù)的3種方法,文章通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

在Java中,保留兩位小數(shù)可以使用幾種不同的方法,下面將詳細(xì)解釋并給出每種方法的例子:

1.使用DecimalFormat類

DecimalFormatjava.text包中的一個(gè)類,專門用于格式化數(shù)字,包括保留小數(shù)點(diǎn)后指定的位數(shù)。下面是使用DecimalFormat來保留兩位小數(shù)的示例:

import java.text.DecimalFormat;

public class Main {
    public static void main(String[] args) {
        // 原始數(shù)值
        double value = 123.456789;

        // 創(chuàng)建DecimalFormat對象,并設(shè)置格式為保留兩位小數(shù)
        DecimalFormat df = new DecimalFormat("#.##");

        // 格式化數(shù)字
        String formattedValue = df.format(value);

        // 輸出結(jié)果
        System.out.println(formattedValue);  // 輸出:123.46
    }
}

在此例中,#.##是一個(gè)模式字符串,其中#代表任意數(shù)字,.代表小數(shù)點(diǎn),因此#.##意味著至少顯示一位數(shù)字,最多顯示兩位小數(shù),多余的數(shù)字將被四舍五入。

2.使用String.format()方法

Java的String類有一個(gè)靜態(tài)方法format(),可以按照指定的格式模板格式化數(shù)據(jù)。以下是如何使用它來保留兩位小數(shù):

public class Main {
    public static void main(String[] args) {
        // 原始數(shù)值
        double value = 123.456789;

        // 使用String.format()格式化數(shù)字,"%f"表示浮點(diǎn)數(shù)格式,".2f"指明保留兩位小數(shù)
        String formattedValue = String.format("%.2f", value);

        // 輸出結(jié)果
        System.out.println(formattedValue);  // 輸出:123.46
    }
}

這里的%.2f是一個(gè)格式說明符,其中.前面的%標(biāo)志著這是一個(gè)轉(zhuǎn)換說明符,f表示浮點(diǎn)數(shù),而.2指定了小數(shù)點(diǎn)后的位數(shù)。

3.使用BigDecimal類

java.math.BigDecimal是Java中用于高精度算術(shù)運(yùn)算的類,它可以精確控制浮點(diǎn)數(shù)的精度。下面是如何使用setScale()方法保留兩位小數(shù):

import java.math.BigDecimal;

public class Main {
    public static void main(String[] args) {
        // 原始數(shù)值
        double value = 123.456789;

        // 將double類型轉(zhuǎn)換為BigDecimal,以避免浮點(diǎn)數(shù)精度問題
        BigDecimal bd = new BigDecimal(Double.toString(value));

        // 設(shè)置小數(shù)點(diǎn)后保留兩位,并進(jìn)行四舍五入
        BigDecimal roundedValue = bd.setScale(2, BigDecimal.ROUND_HALF_UP);

        // 將結(jié)果轉(zhuǎn)換為字符串輸出
        String formattedValue = roundedValue.toPlainString();

        // 輸出結(jié)果
        System.out.println(formattedValue);  // 輸出:123.46
    }
}

在上述示例中,setScale(2, BigDecimal.ROUND_HALF_UP)方法設(shè)置了小數(shù)點(diǎn)后保留兩位,并指定了四舍五入的方式為ROUND_HALF_UP(這是最常見的舍入模式,即大于等于0.5向上舍入,小于0.5向下舍入)。toPlainString()方法將結(jié)果轉(zhuǎn)換成沒有指數(shù)記法的普通字符串形式。使用BigDecimal處理浮點(diǎn)數(shù)時(shí),能保證結(jié)果的精確性,不受原始float或double類型精度限制的影響。

總結(jié)

到此這篇關(guān)于JAVA把結(jié)果保留兩位小數(shù)的3種方法的文章就介紹到這了,更多相關(guān)JAVA結(jié)果保留兩位小數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springboot注解及GET、POST接口寫法

    springboot注解及GET、POST接口寫法

    springboot提供了@Contrller和@RestController注解,@Controller返回頁面和數(shù)據(jù)而@RestController返回?cái)?shù)據(jù),本文重點(diǎn)介紹springboot注解及GET、POST接口寫法,感興趣的朋友一起看看吧
    2024-04-04
  • 教你利用SpringBoot寫一個(gè)屬于自己的Starter

    教你利用SpringBoot寫一個(gè)屬于自己的Starter

    如果我們將可獨(dú)立于業(yè)務(wù)代碼之外的功配置模塊封裝成一個(gè)個(gè)starter,復(fù)用的時(shí)候只需要將其在pom中引用依賴即可,SpringBoot為我們完成自動(dòng)裝配,簡直不要太爽,這篇文章主要給大家介紹了關(guān)于如何利用SpringBoot寫一個(gè)屬于自己的Starter,需要的朋友可以參考下
    2022-03-03
  • RocketMq 消息重試機(jī)制及死信隊(duì)列詳解

    RocketMq 消息重試機(jī)制及死信隊(duì)列詳解

    這篇文章主要為大家介紹了RocketMq 消息重試機(jī)制及死信隊(duì)列詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • Java Socket編程實(shí)例(三)- TCP服務(wù)端線程池

    Java Socket編程實(shí)例(三)- TCP服務(wù)端線程池

    這篇文章主要講解Java Socket編程中TCP服務(wù)端線程池的實(shí)例,希望能給大家做一個(gè)參考。
    2016-06-06
  • 這一次搞懂Spring代理創(chuàng)建及AOP鏈?zhǔn)秸{(diào)用過程操作

    這一次搞懂Spring代理創(chuàng)建及AOP鏈?zhǔn)秸{(diào)用過程操作

    這篇文章主要介紹了這一次搞懂Spring代理創(chuàng)建及AOP鏈?zhǔn)秸{(diào)用過程操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Go并發(fā)編程中使用channel的方法

    Go并發(fā)編程中使用channel的方法

    本文給大家介紹Go并發(fā)編程中使用channel的方法,通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-11-11
  • spring boot使用logback實(shí)現(xiàn)多環(huán)境日志配置詳解

    spring boot使用logback實(shí)現(xiàn)多環(huán)境日志配置詳解

    這篇文章主要介紹了spring boot使用logback實(shí)現(xiàn)多環(huán)境日志配置詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • java中幾種常見的排序算法總結(jié)

    java中幾種常見的排序算法總結(jié)

    大家好,本篇文章主要講的是java中幾種常見的排序算法總結(jié),感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • java 中String和StringBuffer與StringBuilder的區(qū)別及使用方法

    java 中String和StringBuffer與StringBuilder的區(qū)別及使用方法

    這篇文章主要介紹了java 中String和StringBuffer與StringBuilder的區(qū)別及使用方法的相關(guān)資料,在開發(fā)過程中經(jīng)常會(huì)用到String 這個(gè)類進(jìn)行操作,需要的朋友可以參考下
    2017-08-08
  • java轉(zhuǎn)化為exe程序步驟詳解

    java轉(zhuǎn)化為exe程序步驟詳解

    在本篇內(nèi)容里我們給大家分享了關(guān)于java轉(zhuǎn)化為exe程序的具體步驟和相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。
    2019-03-03

最新評(píng)論