Java BigDecmal 将负值更改为正值

Kir*_*eda 2 java spring bigdecimal spring-boot

第三方服务向我的服务中的BigDecimal字段发送负值。我需要让它变得积极

我在 Spring 中重新阅读了大量关于 BigDecimal 的信息,但找不到如何解决这个问题。我不知道这是否可以在注释的帮助下完成,该注释会自动将符号从负更改为正,还是需要手动更改符号?

例如,我的 DTO:

private BigDecimal priceValue;
Run Code Online (Sandbox Code Playgroud)

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

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

ΦXo*_*a ツ 6

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

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()); 
} 
Run Code Online (Sandbox Code Playgroud)