/*
* float和double类型的数据存储和int不一样
*
* float和double类型容易丢失精度
*
* 因此使用BigDecimal
*
* BigDecimal类描述:不可变的,任意精度的有符号十进制数,可以解决精度丢失问题
* */

/*
* float和double类型的数据存储和int不一样
*
* float和double类型容易丢失精度
*
* 因此使用BigDecimal
*
* BigDecimal类描述:不可变的,任意精度的有符号十进制数,可以解决精度丢失问题
* */ public class IntegerDemo { public static void main(String[] args) {
// TODO Auto-generated method stub System.out.println(0.09 + 0.01);
System.out.println(1.0 - 0.32);
System.out.println(1.015 * 100);
System.out.println(1.301 / 100);
}
}

/*
* BigDecimal构造方法:
* public BigDecimal(String val);
*
* public BigDecimal add(BigDecimal augend);加
* public BigDecimal subtract(BigDecimal subtrahend);减
* public BigDecimal multiply(BigDecimal multiplicand);乘
* public BigDecimal divide(BigDecimal divisor);除
*
* public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode);除,参数:商,保留几位小数,如何舍取
* */

import java.math.BigDecimal;

/*
* BigDecimal构造方法:
* public BigDecimal(String val);
*
* public BigDecimal add(BigDecimal augend);加
* public BigDecimal subtract(BigDecimal subtrahend);减
* public BigDecimal multiply(BigDecimal multiplicand);乘
* public BigDecimal divide(BigDecimal divisor);除
*
* public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode);除,参数:商,保留几位小数,如何舍取
* */ public class IntegerDemo { public static void main(String[] args) {
// TODO Auto-generated method stub BigDecimal bd1 = new BigDecimal("0.09");
BigDecimal bd2 = new BigDecimal("0.01"); System.out.println("add:" + bd1.add(bd2));
System.out.println("subtract:" + bd1.subtract(bd2));
System.out.println("multiply:" + bd1.multiply(bd2));
System.out.println("divide:" + bd1.divide(bd2)); System.out.println("divide:" + bd1.divide(bd2, 3, BigDecimal.ROUND_HALF_UP));
}
}

类BigDecimal的更多相关文章

  1. java中商业数据计算时用到的类BigDecimal和DecimalFormat

    1.引言 借用<Effactive Java>这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确 ...

  2. java 大数据处理类 BigDecimal 解析

    这两天,由于我的必修课概率论里经常要用到排列组合的计算,感觉很麻烦,加上现代智能手机的计算器是没有这方面功能的. 所以,就自己动手写了个安卓的 排列组合 计算器,用了一天,发现有很大的问题,阶乘达百亿 ...

  3. Java中精确的数字计算类BigDecimal

    在日常开放当中需要我们计算数字,利率.通常Java的做法是使用Math相关的API.但是,这样做是不够精确的,由于float和double不能进行计算,如果强行进行计算会使得计算不准确.造成难以挽回的 ...

  4. Java大数类BigDecimal及八种舍入模式的介绍

    BigDecimal的引入 在利用Java编程语言开发银行.金融类等需要对数值进行高精度计算的软件时,我们经常使用BigDecimal和BigInteger这两个大数据类,而不是常见的int.long ...

  5. JAVA集合类简要笔记 - 内部类 包装类 Object类 String类 BigDecimal类 system类

    常用类 内部类 成员内部类.静态内部类.局部内部类.匿名内部类 概念:在一个类的内部再定义一个完整的类 特点: 编译之后可生成独立的字节码文件 内部类可直接访问外部类私有成员,而不破坏封装 可为外部类 ...

  6. BigDecimal类的加减乘除

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

  7. BigDecimal类对象的使用详解

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

  8. BigDecimal类的简单使用方法

    一提到Java里面的商业计算,我们都知道不能用float和double,由于他们无法进行精确计算.可是Java的设计者给编程人员提供了一个非常实用的类BigDecimal,他能够完好float和dou ...

  9. Java的精确整数计算-Bigdecimal学习总结和工具类

    随笔:随着最近工作需要,回首需要涉及到一些精确的数据计算,就需要用到Bigdecimal,索性就趁着闲暇之余整理收集一下关于Bigdecimal的使用方法,由于时间的原因,整理的并不是特别详细,但相信 ...

随机推荐

  1. Spark-Streaming获取kafka数据的两种方式:Receiver与Direct的方式

    简单理解为:Receiver方式是通过zookeeper来连接kafka队列,Direct方式是直接连接到kafka的节点上获取数据 Receiver 使用Kafka的高层次Consumer API来 ...

  2. Vue框架前言

    Vue框架 Vue 框架: 官网 vue框架:渐进式JavaScript框架 vue一个环境:可以只控制页面中一个标签.可以控制一组标签.可以控制整个页面.可以控制整个项目 vue可以根据实际需求,选 ...

  3. Python 进程之间共享数据(全局变量)

    进程之间共享数据(数值型): import multiprocessing def func(num): num.value=10.78 #子进程改变数值的值,主进程跟着改变 if __name__= ...

  4. jquery遍历标签中自定义的属性方法

    在开发中我们有时会对html标签添加属性,如何遍历处理 <ul> <li name="li1" sortid="nav_1">aaaaa ...

  5. Linux系统性能测试工具(五)——磁盘io性能工具之fio

    本文介绍关于Linux系统(适用于centos/ubuntu等)的磁盘io性能测试工具-fio.磁盘io性能测试工具包括: fio: dd

  6. rest_framework框架的认证、权限

    REST_FRAMEWORK = { "DEFAULT_AUTHENTICATION_CLASSES": ["app01.utils.TokenAuth", ] ...

  7. Windows Neovim

      配置文件路径C:\Users\UserName\AppData\Local\nvim\init.vim Vim-plug配置文件路径:C:\Users\UserName\AppData\Local ...

  8. visual studio中配置opencv

    第1步附加包含目录:H:\software\programming\opencv\opencv\build\include 第2步附加库目录:H:\software\programming\openc ...

  9. Qt的QSettings类和.ini文件读写

    Detailed Description QSettings类提供了持久的跨平台的应用程序设置.用户通常期望应用程序记住它的设置(窗口大小.位置等)所有会话.这些信息通常存储在Windows系统注册表 ...

  10. IDEA更改左侧目录层级结构

    齿轮---Compact Empty Middle Packages