Java BigDecimal 将负值变为正值

标签 java spring spring-boot bigdecimal

第三方服务向我服务中的 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/

相关文章:

java - JTree For 循环数组语法

java - 如何在java或linux命令行中计算一组数字的90%分布值?

java - 我在哪里可以找到@Inject jar

java - 如何防止 Spring MVC 进行重定向?

java - 使用 @SecondaryTable 注解映射实体 Spring Hibernate

java - java中的自定义对话框

java - 将字符串转换为 swt 颜色

spring-boot - 如何为Apache Velocity禁用Spring Boot的自动配置?

rest - Spring Boot RestClient post for object without request body 导致错误请求

Spring Boot 日志打印到 Google App Engine 每条日志一行,没有元数据