java - 如何在Java中设置BigDecimal的特定精度?

标签 java bigdecimal

我有 BigDecimal 值。

BigDecimal price = new BigDecimal("100500100500.9999999").setScale(2, BigDecimal.ROUND_HALF_EVEN);

它打印 100500100501.00,尽管我需要 100500100500.99。是否可以对精度评估做一些限制?

最佳答案

您可以在setScale中使用舍入模式常量ROUND_DOWN。然而,overloaded setScale method that takes a RoudingMode is preferred .

BigDecimal price = new BigDecimal("100500100500.9999999")
    .setScale(2, RoundingMode.DOWN);

输出:

100500100500.99

关于java - 如何在Java中设置BigDecimal的特定精度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26069522/

相关文章:

java - 在多个语言环境中将字符串解析为 BigDecimal

java - 如何为 Android (java) 配置 Google Maps Distance Matrix API

java - 如何使 Scene2d 窗口适合其内容? (Libgdx)

java - Spring MVC - 无法将类型 'java.lang.String' 的属性值转换为所需类型 'java.lang.Integer'

java - 使用 BigDecimal 时防止在 Android 版 Java 中转换为指数格式

java - 如何使用 Streams 平均 BigDecimals?

c# - C# 中的 Java BigDecimal 类的等价物是什么?

java - Netbean GUI界面窗口关闭

java - 从 java.sql.Connection 实例化 JdbcTemplate

java - BigDecimal.stripTrailingZeroes() 行为的澄清