最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java格式化小數(shù)并保留兩位小數(shù)的四種方法

 更新時(shí)間:2025年03月10日 09:54:03   作者:夢(mèng)幻南瓜  
Java中格式化小數(shù)并保留兩位小數(shù)的四種方法:使用DecimalFormat、String.format()、BigDecimal和NumberFormat,每種方法都有其適用場(chǎng)景和特點(diǎn),文章通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下

在Java中格式化小數(shù)并保留兩位小數(shù),可以通過(guò)以下幾種方法實(shí)現(xiàn):

1. 使用 DecimalFormat 類

import java.text.DecimalFormat;
import java.math.RoundingMode;

public class DecimalFormatExample {
    public static void main(String[] args) {
        double number = 3.1415;

        DecimalFormat df = new DecimalFormat("0.00");
        df.setRoundingMode(RoundingMode.HALF_UP); // 設(shè)置四舍五入模式

        String formatted = df.format(number);
        System.out.println(formatted); // 輸出:3.14
    }
}

說(shuō)明:

模式 “0.00”:強(qiáng)制保留兩位小數(shù),不足補(bǔ)零(例如 2.5 格式化為 2.50)。

RoundingMode.HALF_UP:四舍五入規(guī)則(3.145 → 3.15)。

2. 使用 String.format()

public class StringFormatExample {
    public static void main(String[] args) {
        double number = 3.1415;

        String formatted = String.format("%.2f", number);
        System.out.println(formatted); // 輸出:3.14
    }
}

說(shuō)明:

格式字符串 “%.2f”:自動(dòng)保留兩位小數(shù),不足補(bǔ)零。

Locale 問(wèn)題:默認(rèn)使用系統(tǒng)區(qū)域設(shè)置,如需固定小數(shù)點(diǎn)符號(hào)為.,可指定 Locale.US:

String formatted = String.format(Locale.US, "%.2f", number);

3. 使用 BigDecimal(高精度計(jì)算)

import java.math.BigDecimal;
import java.math.RoundingMode;

public class BigDecimalExample {
    public static void main(String[] args) {
        double number = 3.145;

        BigDecimal bd = BigDecimal.valueOf(number);
        bd = bd.setScale(2, RoundingMode.HALF_UP);

        String formatted = bd.toString();
        System.out.println(formatted); // 輸出:3.15
    }
}

說(shuō)明:

BigDecimal.valueOf(number):避免直接使用 new BigDecimal(double) 導(dǎo)致的精度問(wèn)題。

setScale(2, RoundingMode.HALF_UP):設(shè)置小數(shù)位數(shù)和舍入模式。

4. 使用 NumberFormat(本地化格式)

import java.text.NumberFormat;
import java.util.Locale;

public class NumberFormatExample {
    public static void main(String[] args) {
        double number = 1234.567;

        NumberFormat nf = NumberFormat.getInstance(Locale.US);
        nf.setMinimumFractionDigits(2);
        nf.setMaximumFractionDigits(2);

        String formatted = nf.format(number);
        System.out.println(formatted); // 輸出:1,234.57(含千分位分隔符)
    }
}

說(shuō)明:

setMinimumFractionDigits(2) 和 setMaximumFractionDigits(2):固定兩位小數(shù)。

Locale.US:指定小數(shù)點(diǎn)符號(hào)為 .,千分位分隔符為 ,。

總結(jié)

方法適用場(chǎng)景特點(diǎn)
DecimalFormat靈活自定義格式(如貨幣、百分比)需設(shè)置模式,支持復(fù)雜格式
String.format()快速簡(jiǎn)單格式化代碼簡(jiǎn)潔,適合基礎(chǔ)需求
BigDecimal高精度計(jì)算(如金融場(chǎng)景)避免浮點(diǎn)數(shù)精度問(wèn)題
NumberFormat本地化格式(如千分位分隔符)支持國(guó)際化,自動(dòng)處理區(qū)域差異

以上就是Java格式化小數(shù)并保留兩位小數(shù)的四種方法的詳細(xì)內(nèi)容,更多關(guān)于Java格式化小數(shù)并保留兩位小數(shù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java優(yōu)雅的處理 null的方法和使用

    Java優(yōu)雅的處理 null的方法和使用

    本文主要介紹了Java使用Optional優(yōu)雅的處理null值,通過(guò)Optional替代繁雜的if判空處理邏輯,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-08-08
  • SpringBoot啟動(dòng)太慢的7個(gè)優(yōu)化技巧

    SpringBoot啟動(dòng)太慢的7個(gè)優(yōu)化技巧

    項(xiàng)目越做越大,SpringBoot啟動(dòng)時(shí)間從幾秒變成了30多秒,改一行代碼等半分鐘,效率太低了,今天分享7個(gè)優(yōu)化技巧,親測(cè)有效,大家可以根據(jù)需要進(jìn)行選擇
    2025-12-12
  • Java Process與Runtime()的使用及調(diào)用cmd命令阻塞的解決方案

    Java Process與Runtime()的使用及調(diào)用cmd命令阻塞的解決方案

    這篇文章主要介紹了Java Process與Runtime()的使用及調(diào)用cmd命令阻塞的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • SpringBoot詳細(xì)講解yaml配置文件的用法

    SpringBoot詳細(xì)講解yaml配置文件的用法

    這篇文章主要介紹了SpringBoot中的yaml配置文件問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • Spring mvc防止數(shù)據(jù)重復(fù)提交的方法

    Spring mvc防止數(shù)據(jù)重復(fù)提交的方法

    這篇文章主要為大家詳細(xì)介紹了Spring mvc防止數(shù)據(jù)重復(fù)提交的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • SpringMVC之@InitBinder注解詳解

    SpringMVC之@InitBinder注解詳解

    這篇文章主要介紹了SpringMVC之@InitBinder注解詳解,springmvc并不是能對(duì)所有類型的參數(shù)進(jìn)行綁定的,如果對(duì)日期Date類型參數(shù)進(jìn)行綁定,就會(huì)報(bào)錯(cuò)IllegalStateException錯(cuò)誤,需要的朋友可以參考下
    2024-01-01
  • Spring整合消息隊(duì)列RabbitMQ流程

    Spring整合消息隊(duì)列RabbitMQ流程

    Spring整合RabbitMQ很容易,但是整合的目的是為了使用,那要使用RabbitMQ就要對(duì)其有一定的了解,不然容易整成一團(tuán)漿糊。因?yàn)檎f(shuō)到底,Spring只是在封裝RabbitMQ的API,讓其更容易使用而已,廢話不多說(shuō),讓我們一起整它
    2023-03-03
  • 解決FileWriter 寫(xiě)入文本不換行的問(wèn)題

    解決FileWriter 寫(xiě)入文本不換行的問(wèn)題

    這篇文章主要介紹了解決FileWriter 寫(xiě)入文本不換行的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java報(bào)錯(cuò):java.lang.UnsatisfiedLinkError問(wèn)題的解決辦法

    Java報(bào)錯(cuò):java.lang.UnsatisfiedLinkError問(wèn)題的解決辦法

    在Java開(kāi)發(fā)中,java.lang.UnsatisfiedLinkError是一種與本地方法調(diào)用相關(guān)的常見(jiàn)異常,本文將詳細(xì)分析這一異常的背景、可能的原因、錯(cuò)誤代碼示例、正確代碼示例,以及編寫(xiě)代碼時(shí)需要注意的事項(xiàng),需要的朋友可以參考下
    2024-09-09
  • SpringBoot整合Lombok及常見(jiàn)問(wèn)題解決

    SpringBoot整合Lombok及常見(jiàn)問(wèn)題解決

    本文主要介紹了SpringBoot整合Lombok及常見(jiàn)問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04

最新評(píng)論

高密市| 沙河市| 苏尼特左旗| 志丹县| 建德市| 施甸县| 漳州市| 离岛区| 溧阳市| 南丹县| 墨玉县| 绥芬河市| 晴隆县| 棋牌| 郎溪县| 盐亭县| 古浪县| 关岭| 四子王旗| 厦门市| 贵州省| 博白县| 彭州市| 富平县| 门头沟区| 临汾市| 海宁市| 上杭县| 舞钢市| 洪湖市| 武宁县| 比如县| 安仁县| 淄博市| 博兴县| 萍乡市| 当雄县| 郸城县| 泰来县| 金秀| 博客|