java - Java BigDecmal 将负值更改为正值
问题描述
第三方服务向我的服务中的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());
}
推荐阅读
- android - 如何在android的不同导航图中从一个片段导航到另一个片段?
- android - 使用 dagger2 时,如何在构造函数中使用 API 的上下文和项目列表注入 recyclerview?
- python - 模块加载完成后执行python代码
- lambda - 在无服务器框架中将 lambdas 切换到 arm64
- reactjs - 如何使用 Django Rest Framework 和 Dj-rest-auth 在 React 中显示我的重置密码页面
- laravel - 如何在 laravel 的 formData 中获取部分标题、sub_section_title 和文件
- javascript - Telethon,全局变量停止 websocket
- pytorch - 模块“火炬”没有属性“linalg”
- android - 如何在 Android Studio Kotlin 中放大约束布局周围的边框
- node.js - 如何在 Heroku 上为 node.js 应用程序调试应用程序崩溃 [H10]