我有两个号码1.4350
和1.4300
。当我减去它们而不是返回0.0050
时,我希望得到50
。它还需要与90.25
和90.10
一起使用,并返回15
。
答案 0 :(得分:2)
您可以使用BigDecimal.unscaledValue()
。这将返回您想要的BigInteger。
// Two example numbers:
BigDecimal val0 = new BigDecimal("1.4350");
BigDecimal val1 = new BigDecimal("1.4300");
// This might be a method:
if (val0.scale() != val1.scale())
throws new IllegalArgumentException("Scales are not the same!");
BigDecimal subtr = val0.subtract(val1);
System.out.println(subtr); // Prints 0.0050
BigInteger unscaled = subtr.unscaledValue();
System.out.println(unscaled); // Prints 50