我想用BigDecimal
类型表示的一些货币值做一些简单的求和。
BigDecimal test = new BigDecimal(0);
System.out.println(test);
test.add(new BigDecimal(30));
System.out.println(test);
test.add(new BigDecimal(45));
System.out.println(test);
显然,我不太理解BigDecimal
算法,请看后面的输出。
Test
0
0
0
有人能帮我吗?
发布于 2009-12-04 21:24:11
BigDecimal
是不可变的,所以你需要这样做:
BigDecimal result = test.add(new BigDecimal(30));
System.out.println(result);
发布于 2009-12-04 21:24:43
从Java文档的here中可以看出,add返回一个新的BigDecimal:
BigDecimal test = new BigDecimal(0);
System.out.println(test);
test = test.add(new BigDecimal(30));
System.out.println(test);
test = test.add(new BigDecimal(45));
System.out.println(test);
发布于 2009-12-04 21:24:04
BigDecimal test = new BigDecimal(0);
System.out.println(test);
test = test.add(new BigDecimal(30));
System.out.println(test);
test = test.add(new BigDecimal(45));
System.out.println(test);
https://stackoverflow.com/questions/1846900
复制相似问题