//import java.math.*;
package cn.xiaomu_01_rumrnjieduan;
import java.math.BigDecimal;
/**
* 浮点型和BigDecimal的使用
* float(4个字节)、double(8个字节)
* float:单精度,精确到七个数字
* double:双精度类型,精确度大概是float的两倍
* 表示形式:
* 十进制表示:3.152 56.261
* 科学计数法:31e36、965E2
* 浮点数的比较:
* 1.一般不要进行浮点数之间的比较,因为浮点数时不精确的
* 2.BigInteger和BigDecimal是java.math下的两个类,这两个类可以处理任意长度的数值
* BigInteger实现了任意精度的整数运算、 BigDecimal实现了任意精度的浮点运算
* @author Administrator
*
*/
public class _06fu_dian_xing_and_BigDecimal {
public static void main(String[] args) {
// TODO Auto-generated method stub
float d=4.1f; //float赋值是需要加F或者f
double e=45E2;
System.out.println(d);
System.out.println(e);
System.out.println("###################################3");
//使用精确型浮点运算,推荐使用BigDecimal
BigDecimal bd=BigDecimal.valueOf(1.0);
bd=bd.subtract(BigDecimal.valueOf(0.1));
bd=bd.subtract(BigDecimal.valueOf(0.1));
bd=bd.subtract(BigDecimal.valueOf(0.1));
System.out.println(bd);
System.out.println(1.0-0.1-0.1-0.1);
BigDecimal bd1=BigDecimal.valueOf(0.1);
BigDecimal bd2=BigDecimal.valueOf(1.0/10);
System.out.println(bd1.equals(bd2));
}
}