zoukankan      html  css  js  c++  java
  • 12.编写一个Java项目,定义包,在包下定义包含main方法的类,在main方法中声明8种基本数据类型的变量并赋值,练习数据类型转换。

    注意;float虽然是4个自减,但是它的取值范围却比8个字节的long要大。

    float和double只能用来作科学计算或者是工程计算,但在商业计算中我们要用java.math.BigDecimal,通过使用BigDecimal类可以解决上述问题,实例代码如下:

    package ex;

     
    import java.math.*;
     
    public class BigDecimalDemo {
        public static void main(String[] args){
            System.out.println(ArithUtil.add(0.010.05));
            System.out.println(ArithUtil.sub(1.00.42));
            System.out.println(ArithUtil.mul(4.015100));
            System.out.println(ArithUtil.div(123.3100));
        }
    }
     
    class ArithUtil{
        private static final int DEF_DIV_SCALE=10;
         
        private ArithUtil(){}
        //相加
        public static double add(double d1,double d2){
            BigDecimal b1=new BigDecimal(Double.toString(d1));
            BigDecimal b2=new BigDecimal(Double.toString(d2));
            return b1.add(b2).doubleValue();
             
        }
        //相减
        public static double sub(double d1,double d2){
            BigDecimal b1=new BigDecimal(Double.toString(d1));
            BigDecimal b2=new BigDecimal(Double.toString(d2));
            return b1.subtract(b2).doubleValue();
             
        }
        //相乘
        public static double mul(double d1,double d2){
            BigDecimal b1=new BigDecimal(Double.toString(d1));
            BigDecimal b2=new BigDecimal(Double.toString(d2));
            return b1.multiply(b2).doubleValue();
             
        }
        //相除
        public static double div(double d1,double d2){
     
            return div(d1,d2,DEF_DIV_SCALE);
             
        }
         
        public static double div(double d1,double d2,int scale){
            if(scale<0){
                throw new IllegalArgumentException("The scale must be a positive integer or zero");
            }
            BigDecimal b1=new BigDecimal(Double.toString(d1));
            BigDecimal b2=new BigDecimal(Double.toString(d2));
            return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
             
        }
         
    }
  • 相关阅读:
    spring开发_Spring_DataSource
    spring开发_Annotation_注解
    java中子类的继承性
    spring开发_BeanFactoryPostProcessor_容器后处理器
    Caliburn笔记Presenter的管理(wpf框架)
    Caliburn笔记基本Command(wpf框架)
    Caliburn笔记Presenter与View(视图策略)(wpf框架)
    Caliburn笔记Action的创建(wpf框架)
    Caliburn笔记元数据(Metadata)管理(wpf框架)
    Caliburn笔记Action简写(wpf框架)
  • 原文地址:https://www.cnblogs.com/liuyanzeng/p/5861162.html
Copyright © 2011-2022 走看看