• Java的数字处理操作


    ~~:java的数字操作

    1、数字格式化(DecimalFormat类)

    1.1、前言

    在解决实际的问题中,我们经常会碰到数字需要格式化的情况,例如保留数字的两位小数,对于这一类情况,在java中提供了一个类专门用于操作浮点数,它就是DecimalFormat。

    1.2、简介

    DecimalFormat类是NumberFormat类的子类,用于格式化十进制数字,它可以将一些数字格式化为整数、浮点数、百分数等等…

    1.3、构造器

    DecimalFormat类主要有两种构造方式:一是先初始化,再设置格式化模板;另一个是在初始化时设置格式化模板。例如:

    DecimalFormat decimalFormat = new DecimalFormat();
    //pattern是自定义的格式化模板,详细可以参考java文档,这里不过多赘述
    decimalFormat.applyPattern(pattern);
    //对指定字符串进行格式化处理
    decimalFormat.format(str);
    
    //在初始化时设置初始化模板格式
    DecimalFormat decimalFormat = new DecimalFormat(pattern);
    //对字符串进行格式化处理
    decimalFormat.format(str);
    

    1.4、案例

    public static void fun2() {
    		//初始化DecimalFormat对象
    		DecimalFormat decimalFormat = new DecimalFormat();
    		//设置格式化模板为".##",表示保留小数点后两位(按四舍五入)
    		decimalFormat.applyPattern(".##");
    		//对数字进行格式化
    		String reString = decimalFormat.format(123456.789);
    		System.out.println(reString);
    }
    	
    public static void main(String[] args) {
    		
    		fun2();
    		
    }
    

    在这里插入图片描述

    2、数学运算(Math类)

    2.1、三角函数(常用)

    • static double sin(double a):返回角的三角正弦
    • static double cos(double a):返回角的三角余弦
    • static double tan(double a):返回角的三角正切
    • static double toRadians(double angdeg):将角度转化为弧度
    • static double toDegrees(double angrad):将弧度转化为角度

    2.2、指数函数(常用)

    • static double exp(double a):获取e的a次方
    • static double sqrt(double a):获取a的平方根
    • static double cbrt(double a):获取a的立方根
    • static double pow(double a,double b):获取a的b次方

    2.3、取整函数

    • static double ceil(double a):返回大于等于a的最小整数(ceiling天花板)
    • static double floor(double a):返回小于等于a的最大整数(floor地板)
    • static int round(double a):将参数+0.5后返回与参数最近的整数

    2.4、取最小值、最大值、绝对值等函数

    • static double max(double a,double b):取a与b之间的最大值
    • static double min(min a,double b):取a与b之间的最小值
    • static double abs(double a):返回a的绝对值
    • … … …除了浮点数以外(double),以上方法都有操作其他类型的重载

    2.5、随机数函数

    Math.random(double b)

    • static double random():返回0到1的随机浮点数,取值范围为[0,1)

    对于获取随机数,有以下公式:

    • 返回0~n:(int)(Math.random()*n)
    • 返回大于等于m且小于m+n:m+(int)(Math.random()*n)

    生成随机字符:

    • 返回a~z的随机字符:(char)(‘a’+Math.random()*(‘z’-‘a’+1))
    • 返回任意两个字符之间的随机字符:(char)(‘c1’+Math.random()*(‘c2’-‘c1’+1))
    public static void fun3() {
    		//获取随机字符a-f
    		for(int i=0;i<5;i++) {
    			char c = (char)('a'+Math.random()*('f'-'a'+1));
    			System.out.print(c+" ");
    		}
    }
    	
    public static void main(String[] args) {
    		
    		fun3();
    		
    }
    

    在这里插入图片描述

    3、随机数(Random类)

    Random类与Math类中

  • 相关阅读:
    B. Two-gram
    MySQL【多表查询】
    javascript中的new原理及实现
    [附源码]计算机毕业设计JAVA大学生心理健康评估系统
    Java 去除字符中的空格、回车符
    leetcode:169. 多数元素
    net start npcap 系统错误31 解决方案 win11 Wireshark
    Spring Cloud Gateway④自定义限流控制策略
    简单工厂模式-Simple Factory Pattern
    坦克大战Netty网络联机版项目笔记
  • 原文地址:https://blog.csdn.net/qq_47953855/article/details/126950902