zoukankan      html  css  js  c++  java
  • 00076_BigDecimal

    1、在程序中执行下列代码,会出现什么问题?

    1 System.out.println(0.09 + 0.01);
    2 System.out.println(1.0 - 0.32);
    3 System.out.println(1.015 * 100);
    4 System.out.println(1.301 / 100);

      (1)double和float类型在运算中很容易丢失精度,造成数据的不准确性;

      (2)Java提供我们BigDecimal类可以实现浮点数据的高精度运算。

    2、建议浮点数据以字符串形式给出,因为参数结果是可以预知的。

    3、加、减、乘

     1 public static void main(String[] args) {
     2           //大数据封装为BigDecimal对象
     3           BigDecimal big1 = new BigDecimal("0.09");
     4           BigDecimal big2 = new BigDecimal("0.01");
     5           //add实现加法运算
     6           BigDecimal bigAdd = big1.add(big2);
     7           
     8           BigDecimal big3 = new BigDecimal("1.0");
     9           BigDecimal big4 = new BigDecimal("0.32");
    10           //subtract实现减法运算
    11           BigDecimal bigSub = big3.subtract(big4);
    12           
    13           BigDecimal big5 = new BigDecimal("1.105");
    14           BigDecimal big6 = new BigDecimal("100");
    15           //multiply实现乘法运算
    16           BigDecimal bigMul = big5.multiply(big6);

    4、对于浮点数据的除法运算,和整数不同,可能出现无限不循环小数,因此需要对所需要的位数进行保留和选择舍入模式。

      

  • 相关阅读:
    【原】基础篇:第九篇,Ext组件系列之field组件的基本用法
    为什么要返回byte[]
    Migrate Mysql to SQL Server 2005
    关于编码规范
    RPM删除包的时候报127错误
    邮政储蓄的线上故障
    string.replaceAll与StringUtils.replace
    EJB工作原理
    OJB Connection
    找工作
  • 原文地址:https://www.cnblogs.com/gzdlh/p/8093401.html
Copyright © 2011-2022 走看看