bigDecimal学习】的更多相关文章

随笔:随着最近工作需要,回首需要涉及到一些精确的数据计算,就需要用到Bigdecimal,索性就趁着闲暇之余整理收集一下关于Bigdecimal的使用方法,由于时间的原因,整理的并不是特别详细,但相信一般用到的也应该的都整理到了,若是有疏漏之处,请小伙伴们提出,感谢大家的支持. 一.简介 Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.双精度浮点型变量double可以处理16位有效数.在实际应用中,需要对更大或者更小的数进行运算和处理…
1.引言 float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的.然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合.但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦. 先看下面代码 public static void main(String[] args) { System.out.println(0.2 + 0.1); System.out.prin…
干着java的活,但是看的都是一些偏底层的东西(或者我根本就没有看),有点荒废了java的学习. 最近一直在用到一个类是BigDecimal,但都是模棱两可地在那儿用,并没有深入研究这个类的细节,感觉不能再拖了. BigDecimal,从名字来看就是进行大数运算的,不光这样,还广泛用于小数的精确运算. 当你接触到和钱有关的计算的时候,这个类还是很有用滴. 先来看一个例子 package com.tuhooo.bigdecimal; /** * Created by tuhooo on 2017/…
Java学习——BigInteger类和BigDecimal类 摘要:本文主要学习了用于大数字运算的BigInteger类和BigDecimal类. 部分内容来自以下博客: https://www.cnblogs.com/LeoBoy/p/6056394.html https://www.cnblogs.com/linjiqin/p/3413894.html 使用BigInteger类 为什么要使用BigInteger类 在Java的整数类型里面,byte为8位,short为16位,int为32…
一.简介 Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.双精度浮点型变量double可以处理16位有效数.在实际应用中,需要对更大或者更小的数进行运算和处理.float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal.BigDecimal所创建的是对象,我们不能使用传统的+.-.*./等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法.方法中的参数也必须是BigDe…
Math类:数学工具类,做一些数学计算,开方,对数,三角函数等 所有方法都是静态方法,不需要建立对象,直接用类名调用即可 示例: 这里写几个在日常开发中会用到的,比如三角函数之类的平时不会用到,了解即可 package demo; public class MathDemo { public static void main(String[] args) { function1(); function2(); function3(); function4(); function5(); } pu…
System类 在API中System类介绍的比较简单,我们给出定义,System中代表程序所在系统,提供了对应的一些系统属性信息,和系统操作.System类不能手动创建对象,因为构造方法被private修饰,阻止外界创建对象.System类中的都是static方法,类名访问即可.在JDK中,有许多这样的类.常用方法 currentTimeMillis() 获取当前系统时间与1970年01月01日00:00点之间的毫秒差值 exit(int status) 用来结束正在运行的Java程序.参数传…
1--Math类简单的东西 //一些常数 show(Math.PI); show(Math.E); //四舍五入 show(Math.round(3.4)); show(Math.round(3.6)); //向上取整 show(Math.ceil(3.1)); //向下取整 show(Math.floor(2.9)); //随机数 show(Math.random());//生成随机数,默认是0,1的double 注意是[0,1)左闭右开区间 2--BigDecimal类型的使用 2-1 Bi…
字符串 字符串应用主要分为String类操作与字符串生成器 在程序中频繁的进行附加字符串则使用字符串生成器StringBuilder 数组 概述 数组是具有相同数据类型的一组数据的集合 数组创建 先声明,再用new运算符进行内存分配 声明的同时为数组分配内存 数组初始化 int arr[] = new int[]{1,2,3,5,25}; //第一种初始化方式 int arr2[] = {34,23,12,6}; //第二种初始化方式 int[] arr = new int[3]; arr[0]…
目的 记录一下最主要学习心得,不然凭我这种辣鸡记忆力分分钟就忘记白看了... 用静态工厂方法代替构造器的最主要好处 1.不必每次都创建新的对象 Boolean.valueOf Long.valueOf 2.直接返回接口的子类型,对于外界来说并不需要关心实现细节,主要知道这个接口就行 Collections.unmodifiableList ...... 为什么避免使用终结方法 1.终结方法不会被及时执行 2.不同jvm上实现不同 3.可能根本不会执行 4.在其中抛出的异常会被忽略 5.性能差 何…
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多态 第七章 接口与多态 第八章 异常处理 第九章 Collection与Map 第十章 输入/输出 第十一章 线程与并行API 第十二章 Lambda 第十三章 时间与日期 第十四章 NIO与NIO2 第十五章 通用API 第十六章 整合数据库 第十七章 反射与类加载器 第十八章 自定义类型.枚举 补充:Ja…
教材学习内容总结 1.java中的浮点数具体是由分数进行表示的,所以在有些时候,看起来很简单的基本运算,运行结果会让人很是不理解,原因是分数有时表示浮点数时无法完全恰好表示,可能会出现无限循环的情况.为了避免更多的浮点数错误,java中有使用BigDecimal这个解决办法,BigDecimal的具体解决办法是使用默认的精确度,我理解的话就是避开了java中默认的分数表示方式,而是使用我们平时自己进行计算的时候所用的方法进行计算,所以就不会出现本来可以表示的数反而出现无限不循环的情况. 2.ja…
equals(),hashcode(),克隆学习心得 其实在开发时候,很少去重写equals(),hashCode()方法,但是有些时候业务需要还是要重写. 注意: 重写equals()方法一定要重写hashCode()方法. notes: java中两个对象的比较,首先查看的就是一个对象的hashCode,可以把hashCode理解为索引,通过索引可以找到其对应下的内容,可能会有多个. 如果说两个对象的hashCode都不相等,那可以肯定这个对象不同. equals() 相等的两个对象,其ha…
Mysql入门 1. 数据库基本知识(了解) 1.1.数据库介绍 1.1.1.什么是数据库?数据库的作用是什么? 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作 想要存储并读取数据: 没有数据库: 1.新建一个文件夹用来存储文件: 2.把对应的数据以字符流的形式放入对应的文件中: 3.把文件以某种规律放入文件夹中: 4. 要查询对应数据时,需要将数据仓库所有文件以字符流形式获取并遍历,以取得对应数据的某些标…
一 java获取当前时间 学习一个函数,得到当前时间的准确值 System.currectTimeMillis(). 可以得到以毫秒为单位的当前时间.它主要用于计算程序运行时间,long start=System.currectTimeMillis() ,long stop=System.currectTimeMillis() , stop-start; 二  有关大数据的运算及精确数字运算. 此时integer不适用.我们使用BigInteger ,如:BigInteger B= new Bi…
Spring MVC不仅是在架构上改变了项目,使代码变得可复用.可维护与可扩展,其实在功能上也加强了不少. 验证与文件上传是许多项目中不可缺少的一部分.在项目中验证非常重要,首先是安全性考虑,如防止注入攻击,XSS等:其次还可以确保数据的完整性,如输入的格式,内容,长度,大小等.Spring MVC可以使用验证器Validator与JSR303完成后台验证功能.这里也会介绍方便的前端验证方法. 一.Spring MVC验证器Validator Spring MVC验证器Validator是一个接…
这几天,百度mybatis突然看不到官网了,不知道百度怎么整的.特此贴出mybatis中文官网: http://www.mybatis.org/mybatis-3/zh/index.html 一个学习mybatis的英文网站:http://mybatis.co.uk/ 一.概论 大类里面有一个小类用association,大类里面有多个小类用collection.之前学习过json或者xml-rpc,里面的组合数据类型都是两种:数组和结构体.数组就是集合,就是序列.结构体就是映射,就是键值对.…
20145212 <Java程序设计>第3周学习总结 教材学习内容总结 教材第四章知识点总结 面向对象和面向过程: 面向对象是相对面向过程而言的,面向过程强调的是功能行为,面向对象是将过程封装进对象,强调具备了功能的对象,面向对象是基于面向过程的. 面向对象的三个特征: 封装,继承,多态: 对象的使用: 1.找对象: 2.建立对象: 3.使用对象: 4.维护对象的关系. 对象与类的关系: 要产生对象必须先定义类,类是对象的设计图,对象是类的实例. 映射到Java中,具体对象就是对应Java在堆…
20145213<Java程序设计>第三周学习总结 教材学习内容总结 正所谓距离产生美,上周我还倾心于Java表面的基础语法.其简单的流程结构,屈指可数的基本类型分类,早已烂熟于心的运算符等,让我萌生出Java不过尔尔的幻觉.然而,快乐的时间总是短暂的.随着本周学习程度的不断深入,之前一直小觑为加菲猫的Java竟也露出了它的獠牙.本周的学习任务,无论从学习难度还是学习量,与之前都不可同日而语.犹记得周三的时候,我就开始自习教材的第四章了,红红火火恍恍惚惚,看一遍下来后,脑中梳理一遍,竟无所得.…
20145206 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 4.1 定义类 class Clothes{ String color; char size; } public class Field { public static void main(String[] args) { Clothes sun=new Clothes(); Clothes spring=new Clothes(); sun.color="red"; sun.size='S';…
20145223 <Java程序设计>第3周学习总结 教材学习内容总结 第四章内容 1.类与对象 如何定义一个包含有几个值域(Field成员)就是需要我们定义一个类(Class),书上给的例子是这样的: 运行结果: 我自己根据书上所讲的这种定义构造函数(Constructor)的与类名称同名的方法(Method)编译了以下的代码: 以及: 很显然这两种编译的结果是相同的,都是: 2.使用标准类 (1)如果我们想要方便地去接受用户的输入,可以用java.util.Scanner,例如书上p86的…
20145304 <Java程序设计>第三周学习总结 教材学习内容总结 1.定义类: 类定义时使用class关键词,建立实例要使用new关键词. 代码如下: /*定义类 书上例子 衣服的型号与颜色 */ package cc.openhome; import java.sql.SQLOutput; class Clothes{//定义类 String color; char size; } public class Field { public static void main(String[…
20145308刘昊阳 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 认识对象 要产生对象必须先定义类,类是对象的设计图,对象是类的实例 类是从少数实例推广到大量相似实例的抽象化过程 类可以视为相同属性和行为的一组对象的集合的模版,用于产生对象 4.1 类与对象 定义类 1.先在程序中定义类class Clothes{String color;Char size;}(定义color和size两个对象数据成员) 2.新建一个对象new Clothes() 3.声明参考名称(参考变…
20145330 <Java程序设计>第三周学习总结 第三周知识的难度已经逐步上升,并且一周学习两章学习压力也逐渐加大,需要更高效率的来完成学习内容,合理安排时间. 类与对象 对象(Object):存在的具体实体,具有明确的状态和行为 类(Class):具有相同属性和行为的一组对象的集合,用于组合各个对象所共有操作和属性的一种机制 类是对象的设计图,对象是类的实例,生成对象要先定义类 Clothes c1=new Clothes(); c1是引用,在栈上 new Clothes()在堆上生成对…
20145337 <Java程序设计>第三周学习总结 教材学习内容总结 类与对象 类与对象的关系:要产生对象必须先定义类,类是对象的设计图,对象是类的实例.我觉得在视频中对类与对象关系的描述更加形象,它说类是对现实生活中事物的描述,而对象就是这类事物,它是实实在在存在的个体,此外,通过举汽车的例子,也让我们对类与对象有了更深层次的理解. 类在定义时要使用关键词class,而具体对象就是对应java在堆内存中用new建立的实体. 在Java中,为个别对象的数据成员指定值的方式是:对象.对象成员,…
此小工具类主要用于数值四舍五入.数值格式化输出,很简单,若想深入研究,敬请自行查阅 BigDecimal 或 DecimalFormat 的 API,BigDecimal.setScale(位数,四舍五入法)中四舍五入法有如下 7 种: 1. ROUND_UP:远离零方向舍入.向绝对值最大的方向舍入,只要舍弃位非0即进位. 2. ROUND_DOWN:趋向零方向舍入.向绝对值最小的方向输入,所有的位都要舍弃,不存在进位情况. 3. ROUND_CEILING:向正无穷方向舍入.向正最大方向靠拢.…
20145320<Java程序设计>第3周学习总结(第四章) 教材学习内容总结 对象(Object):存在的具体实体,具有明确的状态和行为 类(Class):具有相同属性和行为的一组对象的集合,用于组合各个对象所共有操作和属性的一种机制 从类看对象:类定义可以视为一个具有类似特性与共同行为的对象的模板,可用来产生对象 从对象看类:类的产生,是从少数实例,推广到大量相似实例的抽象化过程(abstraction) 类是对象的设计图,对象是类的实例,生成对象要先定义类 4.1 类与对象 定义类使用c…
错误信息:morphia No usable constructor for java.math.BigDecimal 解决办法:增加自定义类型转换器,代码如下 package cn.huilink.taozhiyin.mongodb.util; import org.mongodb.morphia.converters.TypeConverter; import org.mongodb.morphia.mapping.MappedField; import org.springframewor…
20145208 <Java程序设计>第3周学习总结 教材学习内容总结 认识对象 类类型 在第三章的学习中,我了解到JAVA可区分为基本类型和类类型两种类型,在上周的学习中我学习了JAVA的基本类型,在这周学习的就是类类型,这周的学习相对于前两周来说要困难一些,而且所学的知识比较多. class Clothes{ String color; char size; } public class Field{ public static void main(String[] args){ Clot…
20145215<Java程序设计>第三周学习总结 教材学习内容总结 认识对象 类类型 在学习第三章的时候,我们知道Java可区分为基本类型和类类型两大类型系统,其中类类型也称为参考类型.之前我们已经学习并了解了基本类型,在此就不重复介绍了,在这周的学习中,主要学习到的是类类型,例如在下面代码中: class Clothes{ String color; char size; } public class Field{ public static void main(String[] args…