求教JAVA的浮点精度问题

03-09-16 一路狂奔
我用double变量存钱的数量,比如:10块钱,但是经过加减乘除运算以后,这10块钱的小数位就变了,变成10.000001,很烦人

请问有什么办法能够保证所有的钱数只保留2位小数,整数也变成10.00

无道
2003-09-16 13:37
double value=(double)10.0000001;

java.math.BigDecimal bd=new java.math.BigDecimal(value).setScale(2,java.math.BigDecimal.ROUND_HALF_UP );

AreYouOK?
2003-09-17 12:06
以前写过一篇文章关于这个的

http://www.csdn.net/develop/read_article.asp?id=17400

不过还是比较麻烦,java里面有专门的货币类型就好了

猜你喜欢