BigDecimal常用计算

这篇具有很好参考价值的文章主要介绍了BigDecimal常用计算。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、简单加减乘除

BigDecimal a = new BigDecimal(10);
BigDecimal b = new BigDecimal(15);

BigDecimal add = a.add(b);
System.out.println("a+b="+add);

BigDecimal subtract = b.subtract(a);
System.out.println("b-a="+subtract);

BigDecimal multiply = b.multiply(a);
System.out.println("b*a="+multiply);

BigDecimal divide = b.divide(a);
System.out.println("b/a="+divide);

2、小数取值

ROUND_UP:正数时,舍弃小数后(整数部分)加1,比如12.49结果为13。负数时,舍弃小数后(整数部分)减去1,-12.49结果为 -13
ROUND_DOWN:直接舍弃小数
ROUND_CEILING:如果 BigDecimal 是正的,则做 ROUND_UP 操作;如果为负,则做 ROUND_DOWN 操作 (取附近较大的整数)
ROUND_FLOOR: 如果 BigDecimal 是正的,则做 ROUND_DOWN 操作;如果为负,则做 ROUND_UP 操作(取附近较小的整数)
ROUND_HALF_UP:四舍五入(取更近的整数)
ROUND_HALF_DOWN:同ROUND_HALF_UP 差别仅在于0.5时会向下取整
ROUND_HALF_EVEN:取最近的偶数
ROUND_UNNECESSARY:不需要取整,如果存在小数位,就抛ArithmeticException 异常
BigDecimal a = new BigDecimal(2.4);
BigDecimal b = new BigDecimal(3.8);

BigDecimal multiply = a.multiply(b);
BigDecimal multiply1 = a.multiply(b).setScale(2,BigDecimal.ROUND_HALF_UP);
System.out.println(multiply);
System.out.println("乘法保留两位小数"+multiply1);

BigDecimal c = new BigDecimal(10);
BigDecimal d = new BigDecimal(3);
BigDecimal divide = c.divide(d, 2, BigDecimal.ROUND_UP);
System.out.println("除法保留两位小数"+divide);

 文章来源地址https://www.toymoban.com/news/detail-427673.html

3、比较大小

  int flag = a.compareTo(b)
      flag = -1,表示a小于b;
      flag = 0,表示a等于b;
      flag = 1,表示a大于b;

        BigDecimal a = new BigDecimal(0);
        BigDecimal b = new BigDecimal(1);
        BigDecimal c = new BigDecimal(-1);
        System.out.println("判断是否大于0:"+(b.compareTo(a) > 0?"是":"否"));
        System.out.println("判断是否大于0:"+(c.compareTo(a) > 0?"是":"否"));

4、求余数

BigDecimal amt = new BigDecimal(11);
BigDecimal[] results = amt.divideAndRemainder(BigDecimal.valueOf(2));
System.out.println("商为:"+results[0]);
System.out.println("余数为:"+results[1]);

到了这里,关于BigDecimal常用计算的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Java】——实现可视化加减乘除计算器

    🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL:数据结构_IT闫的博客-CSDN博客 🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客 💎C++:C++_IT闫的博客-CSDN博

    2024年02月05日
    浏览(44)
  • 小米面试题——不用加减乘除计算两数之和

    (1) 如果有嵌入式企业需要招聘校园大使,湖南区域的日常实习,任何区域的暑假Linux驱动实习岗位,可C站直接私聊,或者邮件:zhangyixu02@gmail.com,此消息至2025年1月1日前均有效 (2)刷B站看到一个面试题,不用加减乘除计算两数之和。 (3)当时我看到这个题目,第一反应

    2024年02月10日
    浏览(39)
  • C语言 加减乘除模 的 高精度计算 (超详细)

    目录 高精度加法 高精度乘法 高精度减法          高精度除法 高精度模法   高精度计算 是模拟算法的一种,通过字符串和整型数组的使用,将加减乘除的竖式运算 模拟 出来,达到计算的目的。其步骤大致分为:一,将字符串数据存到整型数组中,二,模拟算法,不同的

    2023年04月24日
    浏览(42)
  • 不用加减乘除做加法

    写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号,本题OJ链接 数据范围:两个数都满足 −10≤n≤1000 进阶:空间复杂度 O(1),时间复杂度 O(1) 分析 :本题要求不能使用+、-、*、/,所以我们应该从二进制的角度去考虑,因为二进制的加法可以通

    2024年02月10日
    浏览(41)
  • 高精度(加减乘除)

    高精度的核心思想就是利用数组去储存大数,然后通过模拟手动计算的方式,来进行计算。 主要分三个模块: 1.读入数据并转换为(int)类型储存 核心思想:将每个位上的数字都+起来,如果大于10就进位。 核心代码如下: 完整代码及解析如下: 减法核心:只使用大数减小数

    2024年02月08日
    浏览(49)
  • C语言加减乘除运算

    加减乘除是常见的数学运算,C语言当然支持,不过,C语言中的运算符号与数学中的略有不同,请见下表。 加法 减法 乘法 除法 求余数(取余) 数学 + - × ÷ 无 C语言 + - * / % C语言中的加号、减号与数学中的一样,乘号、除号不同;另外C语言还多了一个求余数的运算符,就是

    2024年02月06日
    浏览(44)
  • 图像四则运算(加减乘除)

    实验目的: 1.了解图像的算术运算在数字图像处理中的初步应用。 2.体会图像算术运算处理的过程和处理前后图像的变化。 3.能够实现简单的图像处理 实验原理: 图像的代数运算包括加,减,乘,除,这些运算的主要对象是图像数据块中的数据。这四种代数运算可以由如

    2024年02月08日
    浏览(52)
  • 只使用位运算实现加减乘除

    在线OJ: LeetCode 29. 两数相除 原题目的要求是不能使用乘法, 除法和取余运算符实现除法. 在本篇博客中把题目要求提高一点, 这里只使用位运算来实现, 顺便的也就把只使用位运算实现加减乘除实现了. 首先我们需要知道两数之和可以是两个数位相加和不进位相加之和, 而两数进

    2024年02月06日
    浏览(50)
  • Rust 复数运算,重载加减乘除运算

    复数定义 由实数部分和虚数部分所组成的数,形如a+bi 。 其中a、b为实数,i 为“虚数单位”,i² = -1,即虚数单位的平方等于-1。 a、b分别叫做复数a+bi的实部和虚部。 当b=0时,a+bi=a 为实数; 当b≠0时,a+bi 又称虚数; 当b≠0、a=0时,bi 称为纯虚数。 实数和虚数都是复

    2024年02月13日
    浏览(38)
  • Python Opencv实践 - 图像的加减乘除

               

    2024年02月13日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包