zoukankan      html  css  js  c++  java
  • 数字处理类

    一、数字格式化
    • DecimalFormat类
    DecimalFormat是NumberFormat的一个子类,用于格式化十进制数字。
    public static void main(String[] args) {
        double pi = 3.1415927;//圆周率
        System.out.println(new DecimalFormat("0").format(pi));  //取一位整数(3)
        System.out.println(new DecimalFormat("0.00").format(pi));   //取一位整数和两位小数(3.14)
        System.out.println(new DecimalFormat("00.000").format(pi));  //取两位整数和三位小数,整数不足部分以0填补(03.142)
        System.out.println(new DecimalFormat("#").format(pi));  //取所有整数部分(3)
        System.out.println(new DecimalFormat("#.##%").format(pi));  //以百分比方式计数,并取两位小数(314.16%)
    }
     
    二、数学运算
    Math数学运算类中提供了众多数学函数方法
    • 常用的数学运算方法
      • 三角函数方法
      • 指数函数方法
      • 取整函数方法
    public static void main(String[] args) {
        double pi = 3.1415927;//圆周率
        System.out.println(Math.ceil(pi));  //向上取整
        System.out.println(Math.floor(pi));   //向下取整
        System.out.println(Math.rint(pi));  //返回与参数最接近的整数,如果同样接近则返回偶数
        //...
    }
      • 取最大值、最小值、绝对值函数方法
    public static void main(String[] args) {
        System.out.println(Math.max(4,9));  //最大值
        System.out.println(Math.min(4,9));   //最小值
        System.out.println(Math.abs(-7));  //绝对值
        //...
    }
     
    三、随机数
    Java中主要提供了两种方式产生随机数
      1. Math类的random()方法
      2. Random类
    • Math.random()
    //返回一个0~1之间的double型随机数
    System.out.println(Math.random()); //x 比如:0.015764032150502705
       
    (int)(Math.random()*n);    //返回大于0小于n的随机数
    m+(int)(Math.random()*n);    //返回大于等于m且小于m+n的随机数
     
    //产生2到32之间的随机数
    public static void main(String[] args) {
        int rangeMin = 2;
        int rangeMax = 32;
        int random = rangeMin + (int)(Math.random() * (rangeMax - rangeMin));
        System.out.println(random);
        
    }
     
    //使用random方法也可以随机生成字符,比如生成a~z之间的字符
    (char)('a' + Math.random() * ('z' - 'a' + 1));
     
    public static void main(String[] args) {
        System.out.println("任意小写字符" + (char)('a' + Math.random() * ('z' - 'a' + 1)));
        System.out.println("任意大写字符" + (char)('A' + Math.random() * ('Z' - 'A' + 1)));
    }
    • Random类
    //通过实例化一个Random对象创建一个随机数生成器
    Random r = new Random();
     
    public static void main(String[] args) {
        Random r = new Random();
        System.out.println("随机产生一个整数" + r.nextInt());
        System.out.println("随机产生一个0到9的整数" + r.nextInt(10));
        System.out.println("随机产生一个布尔型的值" + r.nextBoolean());
        System.out.println("随机产生一个双精度型的值" + r.nextDouble());
        System.out.println("随机产生一个浮点型的值" + r.nextFloat());
    }
     
    四、大数字运算
    Java中提供了两个大数字操作类用于高精度计算
      1. java.math.BigInteger
      2. java.math.BigDecimal
    • BigInteger
    BigInteger支持任意精度的整数,在BigInteger类中封装了多种操作,比如加、减、乘、除、绝对值、相反数、最大公约等
    BigInteger n = new BigInteger("2");    //将十进制的2转换为BigInteger形式,参数的双引号不能省略,因为参数是以字符串的形式存在的
     
    public static void main(String[] args) {
        BigInteger bigInstance = new BigInteger("4");   //实例化一个大数字
        System.out.println("加法操作:" + bigInstance.add(new BigInteger("2")));
        System.out.println("减法操作:" + bigInstance.subtract(new BigInteger("2")));
        System.out.println("乘法操作:" + bigInstance.multiply(new BigInteger("2")));
        System.out.println("除法操作:" + bigInstance.divide(new BigInteger("2")));
        System.out.println("除以3的商:" + bigInstance.divideAndRemainder(new BigInteger("3"))[0]);
        System.out.println("除以3的余数:" + bigInstance.divideAndRemainder(new BigInteger("3"))[1]);
        //...
    }
    • BigDecimal
    BigDecimal类支持任何精度的定点数,可以用它来精确计算货币值
    public static void main(String[] args) {
        BigDecimal bigDecimal = new BigDecimal("4");
        System.out.println("加法操作:" + bigDecimal.add(new BigDecimal("2")));
        System.out.println("减法操作:" + bigDecimal.subtract(new BigDecimal("2")));
        System.out.println("乘法操作:" + bigDecimal.multiply(new BigDecimal("2")));
        System.out.println("除法操作,商小数点后保留4位,并对结果进行四舍五入操作:" + bigDecimal.divide(new BigDecimal("3"), 4, BigDecimal.ROUND_HALF_UP)); //1.3333
        //...
    }
     
     
  • 相关阅读:
    centos8.2安装nginx
    Centos8安装PostgreSQL
    PostgreSQL 安装时提示下载元数据失败
    MySQL8定时备份
    Centos8安装Docker
    Centos8安装中文字体
    Centos8源码安装libgdiplus
    MySQL拖拽排序
    MySQL8修改事务隔离级别
    MySQL启动问题
  • 原文地址:https://www.cnblogs.com/duomen/p/13245515.html
Copyright © 2011-2022 走看看