第三方服务向我服务中的 BigDecimal 字段发送了一个负值。 我需要让它变得积极。
我在 Spring 中重新阅读了大量有关 BigDecimal 的信息,但找不到解决此问题的方法。我不知道这是否可以借助自动将符号从负号更改为正号的注释来完成,还是我需要手动更改符号?
比如我的DTO:
private BigDecimal priceValue;
值 -14.50 总是出现在我身边,我希望结果是 14.50 并带有“+”号。
我在文档中读到可以使用@Positive - 但这对我不起作用。
最佳答案
我会说绝对值(value)是你的 friend :
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());
}
关于Java BigDecimal 将负值变为正值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62259228/