-3

有人可以解释我如何在 Java 中使用 Big Decimal 吗?我创建了一个有 2 个数字的新大 Decimal。我尝试并搜索了很多,但找不到任何可以帮助我的东西,这是我发现的唯一东西:

BigDecimal big = new BigDecimal("987634534563454354321,3412434534534535343214");

如何制作 Big Decimal 字符串,然后使用数学导入计算这 2 个字符串数字的最小值和最大值?

4

2 回答 2

2

由于 . 的构造函数中的逗号分隔数字,上述代码无效BigDecimal。需要2 个单独的实例BigDecimal

BigDecimal将值转换为和使用intfloatdouble类型可能会丢失精度。应该改用max方法。使用数字可能溢出的另一个原因。在这种情况下这是正确的,并且大于 2 31 -1 ( )。Math.maxMath.minBigDecimal9876345345634543543213412434534534535343214Integer.MAX_VALUE

尝试这个

BigDecimal big1 = new BigDecimal("987634534563454354321");
BigDecimal big2 = new BigDecimal("3412434534534535343214");
BigDecimal min = big1.min(big2);
BigDecimal max = big1.max(big2);

熟悉BigDecimal 的 javadoc

于 2013-07-15T18:38:29.990 回答
0

查看BigDecimal的 javadoc 。BigDecimal - 像 String - 一个不可变的类。所以一个人

BigDecimal c = a.add(b);

a保持不变。)

于 2013-07-15T19:04:54.317 回答