当前位置: 首页 > news >正文

Javas | DecimalFormat类、BigDecimal类、Random类

目录:

    • 1.DecimalFormat类
    • 2.BigDecimal类
    • 3.Random类
    • 4.需求:编写程序,生成5个不重复的随机数

1.DecimalFormat类

  • DecimalFormatNumberFormat 的一个具体子类用于格式十进制数字
/*** 关于数字的格式化*/
public class DecimalFormatTest01 {public static void main(String[] args) {// java.text.DecimalFormat : 专门负责数字格式化的//DecimalFormat df = new DecimalFormat("数字格式");/*数字格式有:# 代表任意数字, 代表千分位. 代表小数点0 代表不够时补0###,###.##  表示:  加入千分位,保留2个小数*/DecimalFormat df1 = new DecimalFormat("###,###.##");String s1 = df1.format(1234.561232);System.out.println(s1); //1,234.56DecimalFormat df2 = new DecimalFormat("###,###.0000"); //保留四位数,不够补上0String s2 = df2.format(1234.56);System.out.println(s2); //1,234.5600}
}

2.BigDecimal类

  • BigDecimal 属于大数据,精度极高不属于基本数据类型,属于Java对象(引用数据类型)

  • BigDecimal在java.math.BigDecimal,是Sun提供的一个类,专门用在财务软件中。( 财务软件中double不够的。)

         // BigDecimal 属于大数据,精度极高。不属于基本数据类型,属于Java对象(引用数据类型)。// BigDecimal在java.math.BigDecimal,是Sun提供的一个类,专门用在财务软件中。// 财务软件中double是不够的。//这个100不是普通的100,而是精度极高的100BigDecimal v1 = new BigDecimal(100);//精度极高的 200BigDecimal v2 = new BigDecimal(200);/*对两个“精度极高”的数进行“加减乘除 等操作”,因为都是引用,不能直接进行操作,可调用方法*///求和BigDecimal v3 = v2.add(v1);System.out.println(v3); //300//相减BigDecimal v4 = v2.subtract(v1);System.out.println(v4); //100//相乘BigDecimal v5 = v2.multiply(v1);System.out.println(v5); //20000//相除BigDecimal v6 = v2.divide(v1);System.out.println(v6); //2
    

3.Random类

  • random用于生成随机数

       //创建随机数对象Random random = new Random();//随机生成一个int类型范围内的数字。int num1 =random.nextInt();System.out.println(num1);//随机生成一个[0~100]范围内的数字。不能产生101int num2 =random.nextInt(101); //不包括101System.out.println(num2);
    

4.需求:编写程序,生成5个不重复的随机数

  • 需求:编写程序,生成5个不重复的随机数[0-100],最终生成的5个随机数放到数组中,要求数组中的这5个随机数不重复。

    /*需求: 编写程序,生成5个不重复的随机数[0-100],最终生产的5个数放到数组中,要求这5个数不重复。*/
    public class RandomTest01 {public static void main(String[] args) {//创建Random对象Random random = new Random();//准备一个长度为5的一维数组int[] arr = new int[5];//为该一维数组设置初始值for (int i = 0; i<arr.length;i++) {arr[i] = -1;}//循环,生成随机数int index = 0;while (index < arr.length) {//生成随机数int num = random.nextInt(101); //此处设置为5可测试代码是否有bug//判断arr数组中是否有这个num,如果没有这个num,就放进去if (!contains(arr,num)) {arr[index] = num;index++;}}//遍历以上数组for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}}//该方法:用来判断数组中是否包含某个元素public static boolean contains(int[] arr,int key){for (int i = 0; i < arr.length; i++) {if (arr[i] == key) {//条件成立了表示包含,返回truereturn true;}}//表示不包含return false;}
    }
    
http://www.lryc.cn/news/166336.html

相关文章:

  • 机器学习 实战系列 总目录
  • 机器学习——贝叶斯(三种分布)/鸢尾花分类分界图/文本分类应用
  • SOLIDWORKS Composer位置关键帧的使用
  • PostgreSQL 流复制搭建与维护
  • 【Redis】关于过期数据清除的一些策略
  • 动态SQL
  • uniapp:OCR识别身份证上传原图失败,问题解决
  • shell循环和函数
  • 京东详情api
  • MySQL最新版8.1.0安装配置教程
  • 5G试题_1
  • 正规股票配资网站的三个明显特点分析
  • 质疑苹果5G信号造假成为闹剧,反而将运营商置于尴尬境地
  • vue 预览zip
  • 人先自辱,而后人辱之
  • web端三维重建算法-colmap++
  • MyBatisPlus(二)基础Mapperr接口:增删改查
  • 基础项目实用案例
  • sprngboot整合kabana
  • PostgreSQL 数据备份恢复
  • 线性代数的本质(七)——特征值和特征向量
  • c语言进阶部分详解(指针初阶)
  • Socks5代理IP在跨境电商与网络游戏中的网络安全应用
  • Gin框架---基础综述
  • 排序算法-快速排序
  • 【Spring容器的启动过程】
  • 普通二本+转专业学计算机是什么感受
  • 力扣1、两数之和
  • 一百七十三、Flume——Flume写入HDFS后的诸多小文件问题
  • Android.mk中C++使用