Java 计算大十进制数
有人能告诉我如何在Java中使用大十进制吗? 我创建了一个新的有2个数字的大十进制。 我尝试了很多,搜索了很多,但是我找不到任何可以帮助我的东西。这是我找到的唯一的东西:Java 计算大十进制数,java,bigdecimal,Java,Bigdecimal,有人能告诉我如何在Java中使用大十进制吗? 我创建了一个新的有2个数字的大十进制。 我尝试了很多,搜索了很多,但是我找不到任何可以帮助我的东西。这是我找到的唯一的东西: BigDecimal big = new BigDecimal("987634534563454354321,3412434534534535343214"); 如何生成大的十进制字符串,然后使用数学导入计算这两个字符串的最小值和最大值?由于BigDecimal的构造函数中以逗号分隔的数字,上述代码无效。需要2个单独的Big
BigDecimal big = new BigDecimal("987634534563454354321,3412434534534535343214");
如何生成大的十进制字符串,然后使用数学导入计算这两个字符串的最小值和最大值?由于
BigDecimal
的构造函数中以逗号分隔的数字,上述代码无效。需要2个单独的BigDecimal
实例
将BigDecimal
值转换为int
、float
和double
类型(由Math.max
和Math.min
使用)可能会丢失精度。应该改用这种方法。使用BigDecimal
的另一个原因是数字可能溢出。在这种情况下,如果987634563454354321
和3412434535343214
大于231-1(Integer.MAX_值
)
试试这个
BigDecimal big1 = new BigDecimal("987634534563454354321");
BigDecimal big2 = new BigDecimal("3412434534534535343214");
BigDecimal min = big1.min(big2);
BigDecimal max = big1.max(big2);
让自己熟悉查看的javadoc。BigDecimal是一个类似字符串的不可变类。一个人也是
BigDecimal c = a.add(b);
(
a
保持不变。)您是否查看了BigDecimal
API?逗号不应该是句点吗?或者是否有一些区域设置可以设置它?是一个很好的教程,因为BigDecimal包含一个数字。如果执行成功,则您所在的区域设置使用逗号作为十进制分隔符。如果我要使用数学导入计算它,该怎么办It’不仅仅是minandmax,我还要计算sin、tan和cos:如果你使用Math.max,你将失去精度。使用BigDecimal#max
而不是课堂作业。他们告诉我应该使用math import中的一些函数,使用大十进制计算2个数字。我不知道如何计算字符串:你不会这么做的。这些数字对于Math.min
和Math.max
方法来说太大了,输入值甚至在这些方法使用之前就会溢出