Ser*_*Amo 147 java bigdecimal
我想用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);
Run Code Online (Sandbox Code Playgroud)
显然我不太了解BigDecimal
算术,看后面的输出.
Test
0
0
0
Run Code Online (Sandbox Code Playgroud)
谁能帮我吗?
Vin*_*nie 264
这BigDecimal
是不可变的,所以你需要这样做:
BigDecimal result = test.add(new BigDecimal(30));
System.out.println(result);
Run Code Online (Sandbox Code Playgroud)
Ank*_*oel 31
从这里的Java文档看起来,添加返回一个新的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);
Run Code Online (Sandbox Code Playgroud)
Mau*_*rry 16
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);
Run Code Online (Sandbox Code Playgroud)
nfe*_*ner 11
这实际上相当容易.这样做:
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);
Run Code Online (Sandbox Code Playgroud)
也可以看看: BigDecimal#add(java.math.BigDecimal)
BigInteger是不可变的,你需要这样做,
BigInteger sum = test.add(new BigInteger(30));
System.out.println(sum);
Run Code Online (Sandbox Code Playgroud)