没有 E 的 Java BigDecimal

标签 java bigdecimal

我有一个 BigDecimal 变量

BigDecimal x = new BigDecimal("5521.0000000001");

公式:

x = x.add(new BigDecimal("-1")
      .multiply(x.divideToIntegralValue(new BigDecimal("1.0"))));

我想删除整数部分,以获得值 x = ("0.0000000001"),但我的新值是 1E-10 而不是 0.0000000001。

最佳答案

要获得 BigDecimalString 表示而不带指数部分,您可以使用
BigDecimal.toPlainString() .在你的例子中:

BigDecimal x = new BigDecimal("5521.0000000001");
x = x.add(new BigDecimal("-1").
              multiply(x.divideToIntegralValue(new BigDecimal("1.0"))));
System.out.println(x.toPlainString());

打印

0.0000000001

关于没有 E 的 Java BigDecimal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12026610/

相关文章:

安装后找不到java但java程序运行

java - 如何验证 json 到 BigDecimal 的位数,但仅验证小数位数?

java - 如何将 BigDecimal (Java) 值存储在 Real (SQlite) 列中?

java - 使用 Map 填充 Java 对象

java - 如何在 restful webservice java 中读取 json payload

java - 结合使用底部布局和MotionLayout的最佳方法是什么

java - 如何重写 BigDecimal toString() 方法?

java - 使用 Java Streams 将 double 映射汇总为聚合的 BigDecimal

java - 使用相同的实现从数组列表创建对象

java - 如何避免在网络中的每台计算机上安装 swing 应用程序的配置文件?