1. BigDecimal介绍(来自百度百科)

    1. Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。

      BigDecimal bd1 = new BigDecimal("100");
      BigDecimal bd2 = new BigDecimal("50");
      BigDecimal bd3 = null;
      //加法
      bd3 =  bd1.add(bd2);
      System.out.println("和 是:" +bd3);
      //减法
      bd3 = bd1.subtract(bd2);
      System.out.println("差  是:" + bd3);  //乘法
      bd3 = bd1.multiply(bd2);
      System.out.println("积  是:" + bd3);  //除法
      bd3 = bd1.divide(bd2);
      System.out.println("商  是:" + bd3); 
  2. NumberFormat格式化以及例子(来自百度百科)
    1. 由于NumberFormat类的format()方法可以使用BigDecimal对象作为其参数,可以利用BigDecimal对超出16位有效数字的货币值,百分值,以及一般数值进行格式化控制。 以利用BigDecimal对货币和百分比格式化为例。首先,创建BigDecimal对象,进行BigDecimal的算术运算后,分别建立对货币和百分比格式化的引用,最后利用BigDecimal对象作为format()方法的参数,输出其格式化的货币值和百分比.

      BigDecimal bigLoanAmount = new BigDecimal("具体数值");   //创建BigDecimal对象
      BigDecimal bigInterestRate = new BigDecimal("具体数值");
      BigDecimal bigInterest = bigLoanAmount.multiply(bigInterestRate); //BigDecimal运算
      NumberFormat currency = NumberFormat.getCurrencyInstance();    //建立货币格式化引用
      NumberFormat percent = NumberFormat.getPercentInstance();     //建立百分比格式化用
      percent.setMaximumFractionDigits(3);               //百分比小数点最多3位
      //利用BigDecimal对象作为参数在format()中调用货币和百分比格式化
      System.out.println("Loan amount:\t" + currency.format(bigLoanAmount));
      System.out.println("Interest rate:\t" + percent.format(bigInterestRate));
      System.out.println("Interest:\t" + currency.format(bigInterest));Loan amount:  ¥129,876,534,219,876,523.12
      Interest rate: 8.765%
      Interest:  ¥11,384,239,549,149,661.69
      常见用法:
      初始化 BigDecimal a= new BigDecimal("1.35");
      对数值取值:
      1.a.setScale(1,BigDecimal.ROUND_DOWN);
      取一位小数,直接删除后面多余位数,故取值1.3.
      2.a.setScale(1,BigDecimal.ROUND_UP);
      取一位小数,删除后面位数,进一位,故取值1.4.
      3.a.setScale(1,BigDecimal.ROUND_HALF_UP);
      取一位小数,四舍五入,故取值1.4.
      4.a.setScale(1,BigDecimal.ROUND_HALF_DOWN);
      取一位小数,五舍六入,故取值1.3.

BigDecimal 加减乘除及对比相关推荐

  1. BigDecimal加减乘除,以及四舍五入方法

    BigDecimal加减乘除,以及四舍五入 代码实例: 四舍五入模式 代码实例: BigDecimal numO= new BigDecimal("10"); BigDecimal ...

  2. php的参数的乘除,关于PHP在企业中处理数字加减乘除和对比运算方案

    如果在PHP中对数字或者字符串加减乘除处理不当的话.会导致结果不够严谨,通常的.假如你需要处理加减乘除应该会是这样: $a = 1; $b = 2; $a * $b; $a + $b; $a - $b ...

  3. BigDecimal加减乘除运算

    java.math.BigDecimal.BigDecimal一共有4个够造方法,让我先来看看其中的两种用法: 第一种:BigDecimal(double val) Translates a doub ...

  4. BigDecimal 加减乘除运算

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. java.math.BigDecimal.BigDecimal一共有4个够造方法,让我先来看看其中的 ...

  5. java中Bigdecimal加减乘除运算

    在java中的Bigdecimal类型的数据进行加减乘除运算的时候要调用以下方法: 加法:add 减法:subtract 乘法:multiply 除法:divide 例如: BigDecimal i ...

  6. BigDecimal加减乘除次方运算及比较大小

    BigDecimal需要进行初始化,这里我对比两种初始化值的结果 BigDecimal big1 = new BigDecimal(0.05);BigDecimal big2 = new BigDec ...

  7. BigDecimal加减乘除及setScale的用法小结

    Bigdecimal初始化: BigDecimal num = new BigDecimal(2.225667);//这种写法不允许,会造成精度损失. BigDecimal num = new Big ...

  8. java中multiply用法_java中BigDecimal加减乘除基本用法

    Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.双精度浮点型变量double可以处理16位有效数. 在实际应用中,需要对更大或者更小的数进 ...

  9. java divide 用法_java中BigDecimal加减乘除基本用法

    Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.双精度浮点型变量double可以处理16位有效数. 在实际应用中,需要对更大或者更小的数进 ...

  10. java 中subtract的用法_java中BigDecimal加减乘除基本用法

    Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.双精度浮点型变量double可以处理16位有效数. 在实际应用中,需要对更大或者更小的数进 ...

最新文章

  1. 使用代理网络配置maven,显示导入失败的原因
  2. 微盟616零售购物节观察:私域流量增值是社交生态的真实价值
  3. 《编译原理》实验预习报告——基于YACC的TINY语法分析器的构建
  4. (转)Apache Ant 环境开发Android应用 二
  5. SAP UI5对mobile touch事件的支持
  6. SQL注入-SQL注入的WAF绕过(十六)
  7. Linux SSH Publickey登录
  8. python中可通过()实现代码的复用_(  )是可复用的,提供明确接口完成特定功能的程序代码块。...
  9. 中累计直方图_新特性解读 | MySQL 8.0 直方图
  10. contains an expression but should be a constant
  11. 转:android 简历
  12. 能卷死同行的收银系统源码--连锁门店/美业/订货/saas/java/php
  13. word2010自动弹出信息检索解决方法
  14. 盯上年轻人的今日头条,重新以内容出发还有多少可能?
  15. XMind 2021 Mac 去水印教程
  16. 神经网络模型文件后缀名,神经网络模型文件格式
  17. NVIDA CUDA和cuDNN安装教程
  18. 2021年宁波市建筑物轮廓及高度矢量数据
  19. 计算机组成原理1,计算机组成原理1.pdf
  20. SQL prompt 怎么重新加载数据库(清除缓存)

热门文章

  1. 敏捷开发中XP与SCRUM的区别
  2. mybatis源码解析 - 通过一个简单查询例子分析流程
  3. 简化版shell远程登录脚本
  4. 使用windows Phone 集成横幅广告教程
  5. 改进后的日志类CLogger
  6. 创建Orcale数据库链接访问外部数据库
  7. Qt 使用vs调试的方法
  8. HTML draggable 属性
  9. 28. magento使用细节
  10. css中background-image与background-color在元素背景中开始结束的位置