本帖最后由 孙含庆 于 2012-10-19 17:49 编辑
import java.math.BigDecimal;
class Test
{
public static void main(String[] args)
{
//double 和 float 类型的数据进行运算时,会出现结果不准的情况
//你可以试试这个
System.out.println(0.05+0.01);
//这个打印结果是 0.060000000000000005,他就是不出 0.06
//计算机二进制不能准确表示十进制浮点数,也算是二进制的蹩脚之处
//当然,上面这种情况可以避免
//导入Math包中的BigDecimal 专门用于解决这种问题
double a = 19,b = 99.63;
//把这两个数封装成BigDecimal 对象
BigDecimal double1 = new BigDecimal(Double.toString(a));
BigDecimal double2 = new BigDecimal(Double.toString(b));
System.out.println(a+"*"+b+"="+double1.multiply(double2));
//BigDecimal 的 multiply 方法就是算出这两个数字的乘积
//你可以查看api 文档中的 BigDecimal 类,来了解他的用法
}
}
|