1

我有一个 BigDecimal 数字,在某些情况下我想添加 0。当我更改 BigDecimal 的比例时,它只返回我的 BigDecimal 数字的 subNumber

例子 :

BigDecimal c = new BigDecimal(0.1721112427968000094313954596298853517869092775632121988466426373478102735617940027951431710952381083564411002004)1 System.out.println(c.setScale(120));

它返回:

0.172111242796800012477831387514015659689903259277343750000000000000000000000000000000000000000000000000000000000000000000

如何在我的 BigDecimal 数字的最后返回 0 的相同数字?

4

1 回答 1

2

您正在失去精度,因为您对 BigDecimal 的论点被截断为双精度。如果您将相同的参数作为字符串传递(在其周围加上引号),则可以克服这个问题

于 2012-05-18T14:49:48.243 回答