首页 > 其他分享 >BigDecimal 常用方法

BigDecimal 常用方法

时间:2024-10-10 18:21:07浏览次数:10  
标签:常用 BigDecimal System decimalExample1 println new 方法 out

文章目录

BigDecimal 常用方法

1.初始化BigDecimal
        // 初始化BigDecimal,推荐使用字符串创建BigDecimal对象
        public BigDecimal(String val) {};
        public BigDecimal(double val) {};
        public BigDecimal(int val) {};
        public BigDecimal(long val) {};
2.创建BigDecimal对象
		// String
        BigDecimal decimalExample1 = new BigDecimal("1000");
        BigDecimal decimalExample2 = new BigDecimal("20");
        BigDecimal decimalExample3 = new BigDecimal("42834");
        BigDecimal decimalExample4 = new BigDecimal("412");
        BigDecimal decimalExample5 = new BigDecimal("-3413.9654");
        // double
        BigDecimal decimalExample6 = new BigDecimal(312.438);
        // int
        BigDecimal decimalExample7 = new BigDecimal(5438);
        // Long
        BigDecimal decimalExample8 = new BigDecimal(756840324023L);
3.BigDecimal类中定义好的常量
		BigDecimal zeroDecimal = BigDecimal.ZERO;
        BigDecimal oneDecimal = BigDecimal.ONE;
        BigDecimal tenDecimal = BigDecimal.TEN;

        System.out.println("当前值:" + zeroDecimal);
        System.out.println("当前值:" + oneDecimal);
        System.out.println("当前值:" + tenDecimal);
4.BigDecimal 值之间的转换
		double doubleValue = decimalExample6.doubleValue(); // 将BigDecimal转换成double
        int intVal = decimalExample7.intValue(); // 将BigDecimal转换成int
        long longValue = decimalExample8.longValue(); // 将BigDecimal转换成long
5.取当前值的相反数、绝对值、幂函数、保留数值的精度
        // 取当前值的相反数
        BigDecimal negateDecimal = decimalExample1.negate();
        System.out.println("取当前值的相反数:negateDecimal:" + negateDecimal);

        // 取当前值的绝对值
        BigDecimal absDecimal = decimalExample5.abs();
        System.out.println("取当前值的绝对值:absDecimal:" + absDecimal);

        // 求幂函数
        BigDecimal powVal = decimalExample2.pow(2); // 20的2次方
        System.out.println("求幂函数:powVal:" + powVal);

        // 设置当前数值的精度
        // 常用的保留小数的方式 :
        // RoundingMode.HALF_UP:小数位进行四舍五入
        // RoundingMode.HALF_DOWN:小数位五舍六入
        BigDecimal scaleDecimal = decimalExample5.setScale(2, RoundingMode.HALF_UP);
        System.out.println("设置当前数值的精度:scaleDecimal:" + scaleDecimal);
6.BigDecimal之间的运算:加减乘除方法
        // 两数相加
        BigDecimal addDecimal = decimalExample1.add(decimalExample2);
        System.out.println("两数相加 addDecimal:decimalExample1 + decimalExample2 :" + addDecimal);

        // 两数相减
        BigDecimal subtractDecimal = decimalExample1.subtract(decimalExample2);
        System.out.println("两数相减 subtractDecimal:decimalExample1 - decimalExample1 :" + subtractDecimal);

        // 两数相乘
        BigDecimal multiplyDecimal = decimalExample1.multiply(decimalExample2);
        System.out.println("两数相乘 multiplyDecimal :decimalExample1 * decimalExample1 :" + multiplyDecimal);

        // 两数相除
        BigDecimal divideDecimal = decimalExample1.divide(decimalExample2);
        System.out.println("两数相除 divideDecimal :decimalExample1 / decimalExample1 :" + divideDecimal);
7.两数相除保留精度
        BigDecimal scaleHalfUpDecimal = decimalExample3.divide(decimalExample4, 5, RoundingMode.HALF_UP);
        BigDecimal scaleHalfDownDecimal = decimalExample3.divide(decimalExample4, 6, RoundingMode.HALF_DOWN);
        System.out.println("两数相除保留向上四舍五入保留5位精度:" + scaleHalfUpDecimal);
        System.out.println("两数相除保留向下五舍六入保留6位精度:" + scaleHalfDownDecimal);

输出结果如下
在这里插入图片描述

标签:常用,BigDecimal,System,decimalExample1,println,new,方法,out
From: https://blog.csdn.net/qq_45373177/article/details/142823535

相关文章

  • 将 OnePlus 手机备份到 PC 的 5 种最佳方法
    一加手机以其合理的价格和卓越的性能赢得了众多用户的喜爱。一加12为用户带来了高达1TB的存储空间,这无疑让用户可以更加自由地存储各种数据。为了保护重要数据不因意外删除、恢复出厂设置、病毒攻击、系统崩溃等各种原因而丢失,有必要为您的一加手机进行备份。这样,当灾难发生并......
  • 4个实用的数据同步方法
    如今处于大数据时代,数据是企业运营的核心。随着业务的扩张和用户规模的增加,信息孤岛问题慢慢地显现了出来,企业内部各部门或系统间数据无法有效共享和整合,数据在组织内部形成一个个孤立的数据岛屿。而为了消除数据孤岛,实现数据的共享和一致性,以便在各种场景下都能访问到最新、最准......
  • 《大侠立志传》游戏闪退未响应提示“找不到cv210.dll”文件该怎么处理?大侠立志传游戏
    《大侠立志传》以其丰富的剧情和独特的玩法吸引着众多玩家。然而,启动游戏时若出现闪退未响应且提示“找不到cv210.dll”文件,着实令人苦恼。遇到这种情况该如何处理呢?下面为大家提供解决办法。cv210.dll的功能介绍cv210.dll是VisualC++RedistributablePackage的一部分,特别......
  • 《神之亵渎2》游戏启动时闪退未响应弹窗“找不到visa32.dll”文件该怎么修复?神之亵渎2
    《神之亵渎2》以其独特的艺术风格和深度的剧情备受玩家瞩目。但启动游戏时出现闪退未响应且弹窗提示“找不到visa32.dll”文件,实在令人困扰。那么,该如何修复这个问题呢?本篇将为大家带来《神之亵渎2》游戏启动时闪退未响应弹窗“找不到visa32.dll”文件该怎么修复的内容,感兴趣的......
  • 《星球大战绝地:幸存者》游戏启动时未响应弹窗“找不到mfc110u.dll”文件该怎么解决?星
    《星球大战绝地:幸存者》以其精彩的剧情和刺激的战斗吸引着众多玩家。然而,启动游戏时若出现未响应且弹窗提示“找不到mfc110u.dll”文件,着实令人苦恼。遇到这种情况该如何解决呢?本篇将为大家带来《星球大战绝地:幸存者》游戏启动时未响应弹窗“找不到mfc110u.dll”文件该怎么解决......
  • 【论文复现】基于行波理论的输电线路故障诊断方法研究(Simulink仿真实现)
      ......
  • 如何轻松释放 iPhone 空间? (7种方法)
    想象一下,你的iPhone里充满了GIF动图、照片、群聊记录、音乐收藏和游戏。它可能已经成为你存储数据的中心,因此其空间很容易就被填满。尽管iPhone15和iPhone14的默认存储空间已经提升至128GB,但这可能对某些用户来说仍然不够。这就是为什么你应该学习如何释放iPhone上的空间。......
  • 【论文复现】基于行波理论的输电线路故障诊断方法研究(Simulink仿真实现)
      ......
  • git常用的分支命令
    克隆一个远程仓库:gitclone远程地址显示分支:gitbranch可选标志标志-r:显示远程分支-a:显示所有分支(本地和远程)-v:显示最后一次提交分分支创建一个分支:gitbranch分支名字创建分支并且切换该分支:gitcheckout-b分支名字切换分支:gitcheckout分支名字删除分支:gi......
  • 窗口传值方法
    网络上有几种方法,先总结如下:调用窗体(父):FormFather,被调用窗体(子):FormSub方法1:所有权法//FormFather://需要有一个公共的刷新方法publicvoidRefresh_Method(){//...}//在调用FormSub时,要把FormSub的所有......