Java BigDecimal 将负值变为正值

Java BigDecmal change negative value to positive

第三方服务向我的服务中的 BigDecimal 字段发送了一个 负值 。 我需要让它成为 正值

我在 Spring 中重新阅读了大量有关 BigDecimal 的信息,但找不到解决此问题的方法。我不知道这是否可以借助自动将符号从负号更改为正号的注释来完成,还是我需要手动更改符号?

比如我的DTO:

private BigDecimal priceValue;

-14.50总是出现在我身上,我希望结果是14.50带“+”号。

我在文档中读到可以使用 @Positive - 但这对我不起作用。

我会说绝对值是你的朋友:

https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#abs()

请记住 BigDecimal 对象是不可变的...

public foo() 
{ 
    BigDecimal num = new BigDecimal("-14.51"); 
    System.out.println("Absolute value is " + num.abs()); 
}