首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 處理小數位數的多種方法完整指南

     編輯:Java 相關知識

Java 格式化小數位數的實用技巧

在 Java 開發中,針對浮點數進行小數位數控制是常見需求。本文整理四種主流方法,並提供完整程式碼範例供參考。

方法一:使用 String.format()

最簡單的方式是利用 String.format() 格式化輸出:

double x1 = 111231.5585;
double x2 = 3.1415926;
System.out.println(String.format("%.2f", x1)); // 輸出:111231.56
System.out.println(String.format("%.2f", x2)); // 輸出:3.14

%.2f 表示保留兩位小數,四捨五入。

方法二:DecimalFormat 類別

DecimalFormat 提供更靈活的格式化模式:

import java.text.DecimalFormat;

public void formatDemo() {
    double f = 111231.5585;
    DecimalFormat df = new DecimalFormat("#.00");
    System.out.println(df.format(f)); // 輸出:111231.56
    
    // 模式說明:
    // #.00   保留兩位小數
    // #.0000 保留四位小數
    // 以此類推
}

方法三:Math.round() 進行數學運算

透過乘除與四捨五入實現精確控制:

double sd = 23.2558896635;
// 保留四位小數
double d1 = (double) (Math.round(sd * 10000) / 10000.0);
double d2 = (double) (Math.round(sd * 10000) / 10000.0000000000);
System.out.println("四位小數測試:" + d1); // 23.2559
System.out.println("四位小數測試:" + d2); // 23.2559

方法四:Struts 標籤屬性格式化

在 JSP 頁面中使用 Struts 標籤:

<bean:write name="entity" property="dkhAFSumPl" format="0.00" />

完整範例程式碼

import java.text.DecimalFormat;

public class NumberFormatDemo {
    public static void main(String[] args) {
        double sd = 23.2558896635;
        
        // 方法一:Math.round
        double d1 = (double) (Math.round(sd * 10000) / 10000.0);
        System.out.println("四位小數:" + d1);
        
        // 方法二:DecimalFormat
        DecimalFormat df2 = new DecimalFormat("###.00");
        DecimalFormat df3 = new DecimalFormat("##.000");
        System.out.println("兩位小數:" + df2.format(sd)); // 23.26
        System.out.println("三位小數:" + df3.format(sd)); // 23.256
    }
}

執行結果

四位小數測試:23.2559
四位小數測試:23.2559
三位小數:23.256
兩位小數:23.26

建議:一般情況下推薦使用 DecimalFormat 或 String.format(),程式碼可讀性較佳;若需高效能數值運算,可考慮 Math.round() 配合乘除。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved