bigdecimal相关内容

如何处理Java的BigDecimal中的舍入错误

我正在使用在java应用程序中实现脚本引擎的开源项目(axil),并且在尝试利用BigDecimal的舍入时遇到了一个主要的障碍。似乎BigDecimal正在将我的输入转换为科学记数法,然后将我传入的精度应用于数字的SN表示系数,而不是其非SN表示。例如: new BigDecimal(“ - 232454.5324”)。round(new MathContext(2,RoundingMod ..
发布时间:2019-01-08 20:13:06 Java开发

按整数划分bigdecimal

我想将一个bigdecimal值除以一个整数。我已经舍入了bigdecimal值(如果它是133.333,那么舍入值是133)。下面是我的代码片段。 v1 = v1.setScale(0,RoundingMode.HALF_UP); int temp = BigDecimal.valueOf(v1.longValue())。divide(constant1); 常量的 ..
发布时间:2019-01-08 13:20:18 Java开发

BigDecimal乘法

我尝试将两个 BigDecimal 值乘以乘以方法,如下所示, BigDecimal dur = BigDecimal.valueOf(60 / 1.1); BigDecimal bal = BigDecimal.valueOf(1.1); BigDecimal ans = dur.multiply(bal); System.out.println(“Ans:”+ an ..
发布时间:2019-01-02 21:56:26 Java开发

在BigDecimal中修剪两个以上的尾随零

为BigDecimal修剪两个以上尾随零的好方法 所以1.2200会打印1.22而1.0000会打印1.00 编辑以及返回1.222200作为 1.2222和1.220000001作为1.220000001等。所以忽略前两个零我想修剪任何传入的0并且不修剪非零值 一种方法可能是乘法,然后应用内置的修剪尾随零,然后除以100.角落情况可能有问题,但值在我的问题是基于货币,永远不会 ..
发布时间:2019-01-02 15:11:05 Java开发

没有E的Java BigDecimal

我有一个BigDecimal变量 BigDecimal x = new BigDecimal(“5521.0000000001”); 公式: x = x.add(new BigDecimal(“ - 1”) .multiply(x.divideToIntegralValue(new BigDecimal(“1.0”)))); 我想删除整数部 ..
发布时间:2019-01-02 13:43:34 Java开发

Java大十进制数格式异常

为什么下面的代码抛出了java数字格式异常? BigDecimal d = new BigDecimal(“10934,375” ); 解决方案 问题是 BigDecimal 需要十进制数字格式,其中小数点在小数点之后。而不是十进制逗号,所以这个特定情况的正确格式是: BigDecimal d = new BigDecimal(“10934.375”); ..
发布时间:2019-01-02 13:41:35 Java开发

BigDecimal下溢

我试图用Java渲染一个名为“Lorenz Attractor”的分形图。因为 double 不起作用(值超出范围),所以我决定选择BigDecimals。经过38次迭代后,我的代码崩溃,它让我得到一个ArithmeticException(Underflow)。下面是一些代码: BigDecimal xnew = this.x.add(this.hBig.multiply(BigDeci ..
发布时间:2019-01-02 09:48:16 Java开发

BigDecimal减法

我想减去2 double 值,我尝试了以下代码。 double val1 = 2.0; double val2 = 1.10; System.out.println(val1 - val2); 我的输出为, 0.8999999999999999 获取输出 0.9 我尝试使用 BigDecimal ,如下所示, BigD ..
发布时间:2018-12-28 22:11:23 Java开发

使用BigDecimal的小数点后的最大位数

Java中 BigDecimal 值小数点后的最大位数是多少? 解决方案 这几乎是无限的。如果将scale设置为整数的最大值,则可以在小数点后存储大约20亿个数字,但如果尝试执行此操作,可能会耗尽内存。如果您需要存储这么多的数字以确定限制是一个问题,那么您可能需要重新考虑程序的设计。 参见 BigDecimal文档: 不可变,任意精度的带符号十进制数。 BigDecimal由任 ..
发布时间:2018-12-28 21:03:25 Java开发

我可以用什么变量类型来保存java中的大数(30+位)?

我可以在Java中使用一个非常大的变量类型来存储大量数字(最多大约四十个数字)吗? long 的最大值是9223372036854775807,这是19位数 - 不够大。 我正在尝试创建一个可以处理大数字的计算器,因为现在大多数只能容纳10位数左右,我想要用数字进行精确计算更大幅度 编辑 感谢您的回答。对于大整数,我可以使用 BigInteger ,唯一的限制是计算机的内存 ..
发布时间:2018-12-26 13:37:25 Java开发

检查BigDecimal是否为整数值

任何人都可以推荐一种高效方式来确定 BigDecimal 是否是数学意义上的整数值? 目前我有以下代码: private boolean isIntegerValue(BigDecimal bd){ boolean ret; try { bd.toBigIntegerExact(); ret = true; } catch(ArithmeticException e ..
发布时间:2018-12-25 22:08:29 Java开发

确定String是否为数字并使用Java进行转换?

我知道之前经常会问过这个问题的变体(参见此处和此处例如),但不 完全重复。 我想检查是否字符串是一个数字,如果是这样,我想将它存储为 double 。有几种方法可以做到这一点,但所有这些方法似乎都不适合我的目的。 一种解决方案是使用 Double.parseDouble(s )或类似的新的BigDecimal 。但是,如果存在逗号,则这些解决方案不起作用(因此“1,234”会导致异常) ..
发布时间:2018-12-25 20:44:12 Java开发

BigDecimal HALF_UP舍入问题

我试图使用scale = 3和HALF_UP舍入模式来舍入0.14049并希望看到舍入值= 0.141但是得到0.140。 根据我的理解最后一个十进制数字9应该向上舍入4到5,当使用比例3时,它应该向上舍入0到1,我应该看到0.141。 这是一个BigDecimal setScale方法中的错误或我对Rounding的期望是错误的。如何获得类似于0.141而不是0.140的舍入值? ..
发布时间:2018-12-22 19:17:04 Java开发

Java格式BigDecimal数字,带逗号和2位小数

我想用逗号和2个小数点格式化BigDecimal数字。 ,例如 金额为:5.0001并格式化为:5.00 金额为:999999999.999999,格式为:999,999,999.99 金额为:1000.4999,格式为:1,000.49 金额为:9999.089,格式为:9,999.08 金额为:0.19999,格式为:0.19 金额为:123456.99999999,格式为: ..
发布时间:2018-12-20 22:49:32 Java开发

如何在Java中创建随机BigDecimal?

这个问题:如何生成随机BigInteger 描述了一种实现与BigIntegers的Random.nextInt(int n)相同语义的方法。 我想对BigDecimal和Random.nextDouble做同样的事情( )。 上述问题的一个答案建议创建一个随机的BigInteger,然后用随机比例从中创建一个BigDouble。一个非常快速的实验表明这是一个非常糟糕的主意:) ..
发布时间:2018-12-12 19:21:47 Java开发