浮点型和BigDecimal的使用


//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));
	}

}


 

posted @ 2019-04-28 03:10  小沐CA  阅读(136)  评论(0)    收藏  举报