首先,setAttribute方法可以直接放基本数据类型么?还是你用JDK5.0中的自动装箱功能的。其次,金钱等计算请采用java.math.BigDecimal类来进行再次,很有可能你在
n = Double.parseDouble(num);
p = Double.parseDouble(pri);
方法中出现了Exception,导致all没有计算出来,所以还是保持了一开始的值