java - Java BigDecimal.ROUND_HALF 偶数,带 3 位小数(奇数和偶数)
问题描述
晚上好:
我在用 3 位或更多小数舍入数字时遇到问题。
例如,我有这个号码:1544.565
我正在尝试将其四舍五入到1544.57
我努力了:
BigDecimal.ROUND_HALF_EVEN
BigDecimal.ROUND_UP
RoundingMode.HALF_EVEN
RoundingMode.HALF_UP
RoundingMode.CEILING
RoundingMode.UP
他们都给了我同样的错误结果: 1544.56 我正在尝试获得 1544.57
请问有什么解决办法吗?
解决方案
尝试ROUND_UP
使用比例 2:
BigDecimal bigDecimal = new BigDecimal("1544.565");
System.out.println(bigDecimal.setScale(2, BigDecimal.ROUND_UP)); // 1544.57
推荐阅读
- java - 我正在努力在我的 Uno 游戏中实现 removeCardsFromHand 方法,我可以就如何处理该方法提出一些建议吗?
- boost - 当默认字段为多字段时提升 solr 字段
- jenkins - Jenkins 在非并发构建中创建工作区@2
- visual-studio - 在 Visual Studio 解决方案中包含 PSGallery nuget 依赖项
- javascript - 为什么这个素数生成器最后打印未定义?
- python - 即使我设置了环境变量也无法导入包
- python - 如何从 for...in... 循环中排除列表中的 1 项
- android - osmdroid:谁将它用于 Openstreetmap 地图海报?铅:摇篮
- google-play-games - PPSSPP变成空白不玩战神
- mysql - 将表从 DBeaver 导出到 MySQL 数据库时如何修复丢失的行/数据?