Java取整數全解析

一、Java中的取整函數

Java中,取整函數包括Math.floor(), Math.ceil(), Math.round(), 和一些強制類型轉換方法,如(int), (long)等。

二、Math.floor()和Math.ceil()

Math.floor() 和 Math.ceil() 均是向下取整和向上取整的方法。

    double num1 = 3.7;
    double num2 = 3.2;
    System.out.println(Math.floor(num1)); // 輸出3.0
    System.out.println(Math.ceil(num2));  // 輸出4.0

上面的代碼中,Math.floor() 將3.7向下取整為3,Math.ceil() 將3.2向上取整為4。

三、Math.round()

Math.round() 函數介於向上取整和向下取整之間,這個函數返回一個數最接近的整數。

    double num1 = 3.4;
    double num2 = 3.5;
    System.out.println(Math.round(num1));  // 輸出3
    System.out.println(Math.round(num2));  // 輸出4

上述代碼中,Math.round() 將 3.4 取整為 3,將 3.5 取整為 4。

四、強制類型轉換

Java中的基本數據類型可以進行強制類型轉換,將一個數據類型轉換為另一個數據類型。比如將 double 轉換成 int。

    double num1 = 3.7;
    System.out.println((int)num1);  // 輸出3

上述代碼將 3.7 強制轉換為 int 類型,結果為 3。

五、舍入模式

Java中提供了一系列的舍入模式。

  • BigDecimal.ROUND_UP:向遠離零的方向舍入。
  • BigDecimal.ROUND_DOWN:向接近零的方向舍入。
  • BigDecimal.ROUND_CEILING:向正無窮方向舍入。
  • BigDecimal.ROUND_FLOOR:向負無窮方向舍入。
  • BigDecimal.ROUND_HALF_UP:四捨五入,五舍六入。
  • BigDecimal.ROUND_HALF_DOWN:四捨五入,五不舍六入。
  • BigDecimal.ROUND_HALF_EVEN:銀行家算法,類似於 ROUND_HALF_UP,但是當末尾數字為5時,採用“偶數舍”的方法。

以ROUND_HALF_UP為例:

    BigDecimal num1 = new BigDecimal("3.45");
    BigDecimal num2 = new BigDecimal("3.55");
    System.out.println(num1.setScale(1, BigDecimal.ROUND_HALF_UP));  // 輸出3.4
    System.out.println(num2.setScale(1, BigDecimal.ROUND_HALF_UP));  // 輸出3.6

上述代碼中,setScale() 方法使用 ROUND_HALF_UP 舍入模式將 3.45 設置為保留1位小數,結果為 3.4,將 3.55 設置為保留1位小數,結果為 3.6。

六、四捨五入到指定小數位數

可以使用 DecimalFormat 類結合 Math.round() 方法來實現四捨五入到指定小數位數。

    double num = 3.1415926;
    DecimalFormat df = new DecimalFormat("#.00");
    String result = df.format(Math.round(num*100)/100.0);
    System.out.println(result);  // 輸出3.14

上述代碼中,將 double 類型的 num 數值四捨五入保留兩位小數,結果為 3.14。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/233778.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-11 17:10
下一篇 2024-12-11 17:10

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • 如何輸入三個整數,並輸出最大值Python

    對於初學者來說,輸入三個整數並輸出它們的最大值可能是一個比較基礎的問題。然而,它卻包含了Python中許多基本知識點的應用,因此學習它可以讓我們更好地理解Python編程語言。 一…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論