防止数据截取导致数据丢失:
//将文本框中的节点合同额,转化成BigDecimal类型,防止数据的丢失。
写一个转换数据类型的方法 ,将需要进行转化的参数,参入到方法中,返回一个BigDecimal类型的数据。
public static BigDecimal objectConvertBigDecimal(Object value) {
BigDecimal ret = null;
if (value != null) {
if (value instanceof BigDecimal) {
ret = (BigDecimal) value;
}
else if (value instanceof String) {
ret = new BigDecimal((String) value);
}
else if (value instanceof BigInteger) {
ret = new BigDecimal((BigInteger) value);
}
else if (value instanceof Number) {
ret = new BigDecimal(((Number) value).doubleValue());
}
else {
throw new ClassCastException("Not possible to coerce [" + value + "] from class " + value.getClass()
+ " into a BigDecimal.");
}
}
return ret;
}
BigDecimal 类型的加减乘除运算:
//定义三个BigDEcimal类型的变量
BigDecimal bignum1 = new BigDecimal("10");
BigDecimal bignum2 = new BigDecimal("5");
BigDecimal bignum = null;
//做加法运算 add()
bignum = bignum1.add(bignum2);
System.out.println("求和:" + bignum);
//做减法运算 subtract()
bignum= bignum1.subtract(bignum2);
System.out.println("求差:" + bignum);
//做乘法运算 multiply()
bignum = bignum1.multiply(bignum2);
System.out.println("乘法积:" + bignum);
//做除法运算 divide()
bignum = bignum1.divide(bignum2);
System.out.println(“除法结果:” + bignum);