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

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

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

在Java中格式化小數并保留兩位小數,可以通過以下幾種方法實現:

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); // 設置四舍五入模式

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

說明:

模式 “0.00”:強制保留兩位小數,不足補零(例如 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
    }
}

說明:

格式字符串 “%.2f”:自動保留兩位小數,不足補零。

Locale 問題:默認使用系統(tǒng)區(qū)域設置,如需固定小數點符號為.,可指定 Locale.US:

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

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

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
    }
}

說明:

BigDecimal.valueOf(number):避免直接使用 new BigDecimal(double) 導致的精度問題。

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

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(含千分位分隔符)
    }
}

說明:

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

Locale.US:指定小數點符號為 .,千分位分隔符為 ,。

總結

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

以上就是Java格式化小數并保留兩位小數的四種方法的詳細內容,更多關于Java格式化小數并保留兩位小數的資料請關注腳本之家其它相關文章!

相關文章

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

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

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

    SpringBoot啟動太慢的7個優(yōu)化技巧

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

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

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

    SpringBoot詳細講解yaml配置文件的用法

    這篇文章主要介紹了SpringBoot中的yaml配置文件問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • Spring mvc防止數據重復提交的方法

    Spring mvc防止數據重復提交的方法

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

    SpringMVC之@InitBinder注解詳解

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

    Spring整合消息隊列RabbitMQ流程

    Spring整合RabbitMQ很容易,但是整合的目的是為了使用,那要使用RabbitMQ就要對其有一定的了解,不然容易整成一團漿糊。因為說到底,Spring只是在封裝RabbitMQ的API,讓其更容易使用而已,廢話不多說,讓我們一起整它
    2023-03-03
  • 解決FileWriter 寫入文本不換行的問題

    解決FileWriter 寫入文本不換行的問題

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

    Java報錯:java.lang.UnsatisfiedLinkError問題的解決辦法

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

    SpringBoot整合Lombok及常見問題解決

    本文主要介紹了SpringBoot整合Lombok及常見問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04

最新評論

临清市| 保亭| 汨罗市| 云龙县| 桐梓县| 依兰县| 龙岩市| 洛隆县| 芮城县| 甘孜县| 东兴市| 拉孜县| 新干县| 松江区| 洞口县| 隆昌县| 游戏| 交城县| 蕲春县| 绥中县| 皮山县| 沙雅县| 静宁县| 尖扎县| 馆陶县| 鄂托克前旗| 醴陵市| 云南省| 安康市| 岚皋县| 涞源县| 隆子县| 廊坊市| 蒙自县| 定日县| 彩票| 江城| 垦利县| 吉林省| 昭苏县| 襄樊市|