java除法,java除法运算保留两位小数

发布时间:2023-01-08

本文目录一览:

  1. java除法
  2. java除法计算
  3. java程序,用图形实现乘除运算
  4. 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