Bigdecimal 中的减法问题

Issue with subtract in Bigdecimal

您好,这个操作给了我不想要的响应,我如何才能从中获得想要的响应?

例如,当 a 和 second 相等时:

a=a.subtract(second);

a=0.99999905050206647416680425521917641162872314453125

second=1.0

给我

a=-9.4949793352583319574478082358837127685546875E-7

但我不想要它,我想要数值而不是 ...E-7 。我该如何解决这个问题? 我试过这个方法,但没有解决我的问题。

a=a.setScale(15,RoundingMode.HALF_UP);

使用BigDecimal.toPlainString():

Returns a string representation of this BigDecimal without an exponent field.