BigDecimal与int的区别?

时间:2011-11-24 18:36:31

标签: java math bigdecimal

我有两个号码1.43501.4300。当我减去它们而不是返回0.0050时,我希望得到50。它还需要与90.2590.10一起使用,并返回15

1 个答案:

答案 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