Java 常用对象-BigDecimal

2017-11-02 22:03:14

BigDecimal类:不可变的、任意精度的有符号十进制数。BigDecimal 由任意精度的整数非标度值 和 32 位的整数标度 (scale) 组成。如果为零或正数,则标度是小数点后的位数。如果为负数,则将该数的非标度值乘以 10 的负 scale 次幂。因此,BigDecimal 表示的数值是 (unscaledValue × 10-scale)

BigDecimal 类提供以下操作:算术、标度操作、舍入、比较、哈希算法和格式转换。toString() 方法提供 BigDecimal 的规范表示形式。

        System.out.println(0.09+0.01);
        System.out.println(1.0-0.32);
        System.out.println(1.015*100);
//        0.09999999999999999
//        0.6799999999999999
//        101.49999999999999

Java中float和double存储会有精度问题,所以引入了BigDecimal类。

*构造方法:

最好使用字符串进行初始化。

*常用方法:

BigDecimal bd1=new BigDecimal("0.01");
System.out.println(bd1.add(new BigDecimal("0.09")));
//0.10
时间: 2024-10-11 10:54:04

Java 常用对象-BigDecimal的相关文章

Java 常用对象-基本类型的封装类

2017-11-04 20:39:26 基本类型封装类:基本类型的封装类的好处是可以在对象中定义更多的功能方法操作该数据. 常用操作之一:用于基本数据类型与字符串的转换. 基本类型和包装类的对应: byte  Byte,short  Short,int  Integer,long  Long,float  Float,double  Double,char  Character,boolean  Boolean. 下面以Integer为例: Integer:Integer 类在对象中包装了一个基

Java 常用对象-Date类和Calender类

2017-11-02 22:29:34 Date类:类 Date 表示特定的瞬间,精确到毫秒. 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值.它也允许格式化和解析日期字符串.不过,这些函数的 API 不易于实现国际化.从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和解析日期字符串.Date 中的相应方法已废弃. Calender类:Calendar 类是一个抽象

Java 常用对象-Scanner类

2017-11-02 16:33:11 Scanner类:一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器. Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配.然后可以使用不同的 next 方法将得到的标记转换为不同类型的值. *构造方法 *常用方法 基本格式:hasNextXxx():判断是否还有下一个输入项,其中Xxx可以是Int,Double等.如果需要判断是否包含下一个字符串,可以省略Xxx. nextXxx():获取下一个输入项. 默认情况

Java的常用对象①②

Java的常用对象① Java的常用对象有很多,这里只对lang包中常用的Object,Date(Calendar,DateFormat,Math),System,Runtime进行介绍.㈠Object是类层次结构的根类.每个类都使用Object作为超类.所有对象(包括数组)都实现这个类的方法.在Object中equals(Object obj),hashCode(),toString()是每个类常用到的,getClass()被用来反射,finalize()是与垃圾回收有关的方法. 其余的not

JAVA学习第二十八课(常用对象API)- String类

多线程告一段落,开始常用对象API的涉及,背也要背下来!!! 日后开发,遇见最多的对象是文字,也就是字符串 String类 字符串是一个特殊对象 字符串一旦初始化就不可以被改变 一.特点 public class Main { public static void main(String[] args) { Demo1(); System.out.println("--------------"); Demo2(); } /*演示字符串的第一种定义方式,并明确字符串常量池的特点*/ p

Java中常见对象——BigDecimal

当我们在开发过程中,double或者float进行加减乘除运算的时候,会出现精度丢失的情况 如下例子,我们在运算的时候均会出现精度的对视的 demo: public class BigDecimalDemo { public static void main(String[] args) { System.out.println(0.09 + 0.01); System.out.println(1.0 - 0.32); System.out.println(1.015 * 100); Syste

Java基础 —— Java常用类

Java常用类: java.lang包: java.lang.Object类: hashcode()方法:返回一段整型的哈希码,代表地址. toString()方法:返回父类名+"@"+哈希码(一般用于覆盖). equals()方法:返回"=="操作的布尔值(一般用于覆盖). finalize()方法:用于对象的销毁(不受人为控制,由JVM调用,遵从垃圾回收机制). clone()方法:用于对象之间的拷贝(深拷贝). getClass()方法:返回对象的字节码文件对

java 常用工具

System:类中的属性方法都是静态的.无法实例化 err:"标准"错误输出流 in:"标准"输入流 out:"标准"输出流 常见方法: long currentTimeMillis();获取当前时间的毫秒值 Properties    getProperties(); 获取系统属性 Properties集合中存储的都是String类型的键和值. Runtime:没有构造方法摘要,说明该类不可以创建对象. 方法又是非静态,说明该类提供静态返回该类

黑马程序员_JavaSE学习总结第14天_API常用对象4

------- android培训.java培训.期待与您交流! ----------  14.01 如何校验一个QQ号码案例 1 import java.util.Scanner; 2 3 /* 4 * 校验qq号码. 5 * 1:要求必须是5-15位数字 6 * 2:0不能开头 7 * 8 * 分析: 9 * A:键盘录入一个QQ号码 10 * B:写一个功能实现校验 11 * C:调用功能,输出结果. 12 */ 13 public class Practice 14 { 15 /** 1