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

      

  • 相关阅读:
    java源码之HashMap和HashTable的异同
    java源码之HashMap
    进制转换
    java基本数据类型及其包装类
    java实例化对象的五种方法
    20 栈的压入、弹出序列
    19 包含min函数的栈
    18 顺时针打印矩阵(记忆,常忘记)
    16 树的子结构(这题多复习)
    15合并两个排序的链表
  • 原文地址:https://www.cnblogs.com/gzdlh/p/8093401.html
Copyright © 2011-2022 走看看