当前位置:编程学习 > JAVA >>

面试题

为何金额变数不能用float或double?要用java的哪一个Class来做金额变项? --------------------编程问答-------------------- 在java里float或double做浮点运算的时候,不精确 两次同样数据算出的结果可能不一样
可以用java.math.BigDecimal  --------------------编程问答-------------------- 因为浮点型,在计算的时候通常两次计算结果小数点的后几位会不一样,可以用精确度来计算,比如第一次计算结果为a,第二次计算结果为b,那么可以用Math.abs(a-b)<0.001来规定计算结果的精确度了,也就是说当|a-b|<0.001那么就说a=b。 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 2 楼  的回复:
因为浮点型,在计算的时候通常两次计算结果小数点的后几位会不一样,可以用精确度来计算,比如第一次计算结果为a,第二次计算结果为b,那么可以用Math.abs(a-b)<0.001来规定计算结果的精确度了,也就是说当|a-b|<0.001那么就说a=b。


不太懂!!1 --------------------编程问答-------------------- http://blog.csdn.net/heshuying85/article/details/5316274
看这个很详细,用biginteger。 --------------------编程问答--------------------
--------------------编程问答--------------------
引用 1 楼  的回复:
在java里float或double做浮点运算的时候,不精确 两次同样数据算出的结果可能不一样
可以用java.math.BigDecimal

+1 --------------------编程问答-------------------- --------------------编程问答-------------------- 很好很强大 --------------------编程问答-------------------- 可以用java.math.BigDecimal  --------------------编程问答-------------------- 不知道
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,