java除法,java除法運算保留兩位小數

本文目錄一覽:

java除法

如果你想要帶小數的結果那麼在聲明的時候就要把變量聲明成浮點型

float = 0.0f

double = 0.0

補充

因為你聲明的5和2都是int型的變量,所以計算出來的結果也是int型的,int型是整型變量,沒有小數部分,所以要把它們聲明成浮點數(即小數),例如float=5.0f;float = 2.0f;後邊的f表示2.0是float型的單精度浮點數,如果不帶f則是默認的double型雙精度浮點數。兩個float型的數字相除,這樣計算的結果也使float型的,所以就會有小數部分出現了

java除法計算

方法一:

double myNum2 = 111231.5585478;

java.math.BigDecimal b = new java.math.BigDecimal(myNum2);

double myNum3 = b.setScale(5, java.math.BigDecimal.ROUND_HALF_UP).doubleValue();

System.out.println(myNum2);

System.out.println(myNum3);

方法二:

double d = 3.1465926;

String result = String.format(“%.2f”, d);

System.out.println(result);

java程序,用圖形實現乘除運算

簡易的計算器代碼如下,請參照:

import java.awt.BorderLayout;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JTextField;

/**

 * 計算器類

 * 

 * @author Administrator

 *

 */

public class Calculator extends JFrame implements ActionListener {

    

    private static final long serialVersionUID = 3868243398506940702L;

    

    // 文本框

    private JTextField result;

    // 按鈕數組

    private JButton[] buttons;

    // 按鈕文本

    private final String[] characters = { “7”, “8”, “9”, “/”, “4”, “5”, “6”,

            “*”, “1”, “2”, “3”, “-“, “0”, “.”, “=”, “+” };

    // 是否為第一個輸入的數字

    private boolean isFirstDigit = true;

    // 運算結果

    private double resultNum = 0.0;

    // 運算符

    private String operator = “=”;

    public Calculator(String title) {

        // 設置標題欄

        super(title);

        // 初始化各組件

        init();

        // 註冊各組件監聽器

        registerListener();

        // 顯示窗體

        setVisible(true);

    }

    /**

     * 初始化各組件

     */

    private void init() {

        // 常用屬性初始化

        setSize(220, 200);

        setResizable(false);

        setLocationRelativeTo(null);

        setDefaultCloseOperation(EXIT_ON_CLOSE);

        /* 文本框對象初始化 */

        result = new JTextField(“0”);

        // 文本右對齊

        result.setHorizontalAlignment(JTextField.RIGHT);

        // 設置是否可編輯

        result.setEditable(false);

        /* 按鈕初始化 */

        buttons = new JButton[characters.length];

        for (int i = 0; i  buttons.length; i++) {

            buttons[i] = new JButton(characters[i]);

            buttons[i].setFocusable(false); // 不允許按鈕定位焦點

        }

        /* 將文本框與按鈕添加到窗體中 */

        add(result, BorderLayout.NORTH);

        JPanel pnl = new JPanel(new GridLayout(4, 4, 5, 5));

        for (JButton jButton : buttons) {

            pnl.add(jButton);

        }

        add(pnl);

        this.getContentPane().setFocusable(true);

    }

    /**

     * 註冊監聽器

     */

    private void registerListener() {

        for (JButton jButton : buttons) {

            jButton.addActionListener(this);

        }

        // 註冊鍵盤事件

        this.getContentPane().addKeyListener(new KeyAdapter() {

            @Override

            public void keyPressed(KeyEvent e) {

                String text = String.valueOf(e.getKeyChar());

                if (Character.isDigit(text.charAt(0)) || “.”.equals(text)) { // 數字或小數點

                    handleNumber(text);

                } else if (“+-*/=”.indexOf(text) != -1) { // 運算符

                    handleOperator(text);

                } else if (e.getKeyCode() == 8) { // 退格鍵

                    String tmp = result.getText().trim();

                    if (tmp.length() == 1) {

                        result.setText(“0”);

                        isFirstDigit = true;

                    } else {

                        result.setText(tmp.substring(0, tmp.length() – 1));

                    }

                }

            }

        });

    }

    @Override

    public void actionPerformed(ActionEvent e) {

        JButton btn = (JButton) e.getSource();

        String text = btn.getText().trim();

        if (Character.isDigit(text.charAt(0)) || “.”.equals(text)) { // 處理數字和小數點

            handleNumber(text);

        } else { // 處理運算符

            handleOperator(text);

        }

    }

    /**

     * 處理數字和小數點

     * 

     * @param text

     */

    private void handleNumber(String text) {

        if (isFirstDigit) { // 第一次輸入

            if (“.”.equals(text)) {

                this.result.setText(“0.”);

            } else {

                this.result.setText(text);

            }

        } else if (“0”.equals(text)  “0”.equals(this.result.getText())) {

            isFirstDigit = true;

            return;

        } else if (“.”.equals(text)  this.result.getText().indexOf(“.”) == -1) {

            this.result.setText(this.result.getText() + “.”);

        } else if (!”.”.equals(text)) {

            this.result.setText(this.result.getText() + text);

        }

        isFirstDigit = false;

    }

    /**

     * 處理運算符

     * 

     * @param text

     */

    private void handleOperator(String text) {

        switch (operator) { // 處理各項運算  適用於JDK1.7版本的

        case “+”:

            resultNum += Double.parseDouble(this.result.getText());

            break;

        case “-“:

            resultNum -= Double.parseDouble(this.result.getText());

            break;

        case “*”:

            resultNum *= Double.parseDouble(this.result.getText());

            break;

        case “/”:

            resultNum /= Double.parseDouble(this.result.getText());

            break;

        case “=”:

            resultNum = Double.parseDouble(this.result.getText());

            break;

        }

        // 將文本框的值修改為運算結果

        this.result.setText(String.valueOf(resultNum));

        // 將點擊的運算符放入operator保存

        operator = text;

        // 下一個數字第一次點擊

        isFirstDigit = true;

    }

    

    public static void main(String[] args) {

              new Calculator(“My Calculator”);

          }

}

運行結果如下:

java中整除和浮點除什麼區別

被除數和除數都為整數即為整除,結果也為整數,如果有餘數,則忽略餘數,比如

5/2結果為2。

被除數和除數只要有一個是浮點數(小數)即為浮點除,結果為浮點數,比如

5.0/2

結果為

2.5

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

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

相關推薦

  • 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
  • VSCode為什麼無法運行Java

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

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

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

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論