
用2个小数位舍入Bigdecimal值
我想要一个函数来转换 Bigdecimal 10.12 for 10.12345和10.13 for10.12556。但是没有函数可以同时满足这两个转换。请帮助实现这一目标。以下是我尝试过的。值10.12345:BigDecimal a = new BigDecimal("10.12345");a.setScale(2, BigDecimal.ROUND_UP)a.setScale(2, BigDecimal.ROUND_CEILING)a.setScale(2, BigDecimal.ROUND_DOWN...
2024-01-10
BigDecimal转换为字符串
我有一个BigDecimal对象,我想将其转换为字符串。问题是我的值得到了分数,我得到了一个很大的数字(长度),例如,我只需要字符串中的原始数字即可:BigDecimal bd = new BigDecimal(10.0001)System.out.println(bd.toString());System.out.println(bd.toPlainString());10.00009999999999976694198267068713903427124023437510.000099999999999...
2024-01-10
设置BigDecimal的特定精度
我有一个XSD,要求我对经纬度使用BigDecimal。目前,我将经度/纬度作为双精度值,并将其转换为BigDecimal,但仅需要使用12个精度位即可。我还无法弄清楚该如何设置。谁能帮我这个?回答:问题的标题询问精度。BigDecimal区分小数位数和精度。小数位数是小数位数。您可以将精度视为有效数字的数量,...
2024-01-10
如何在java中将整数转换为bigdecimal
我想创建一种计算整数和大十进制乘法的方法。我在Google和论坛上搜索没有找到任何内容。import java.math.BigDecimal;private Integer quantite;private BigDecimal prixUnit;public Integer getQuantite() { return quantite; } public void setQuantite(Integer quantite) { this.quantite = q...
2024-01-10
检查BigDecimal是否为整数值
任何人都可以推荐一种 方法来确定a是否BigDecimal为数学意义上的整数吗?目前,我有以下代码:private boolean isIntegerValue(BigDecimal bd) { boolean ret; try { bd.toBigIntegerExact(); ret = true; } catch (ArithmeticException ex) { ret = false; } return ret;}…但是希...
2024-01-10
如何获得最大的BigDecimal值
如何获取BigDecimal变量可以容纳的最大可能值?(最好以编程方式,但也可以进行硬编码)好,因为BigDecimal是任意精度,所以才意识到没有这种事情。因此,我最终得到了这个结果,它对于我的目的来说足够大:BigDecimal my = BigDecimal.valueOf(Double.MAX_VALUE)回答:它是一个任意精度的类,它将达到您想要...
2024-01-10
Java BigDecimal的对数
如何计算BigDecimal的对数?有谁知道我可以使用的任何算法?到目前为止,我在谷歌搜索中提出了(无用的)想法,即仅转换为double并使用Math.log。我将提供所需答案的精确度。编辑:任何基地都可以。如果在base x中更简单,我会做。回答:Java Number Cruncher:《 Java数值计算程序员指南》提供了使用牛...
2024-01-10
Java中BigDecimal的平方根
我们是否可以BigDecimal仅使用Java API而不使用定制的100行算法来计算Java 中a的平方根?回答:public static BigDecimal sqrt(BigDecimal A, final int SCALE) { BigDecimal x0 = new BigDecimal("0"); BigDecimal x1 = new BigDecimal(Math.sqrt(A.doubleValue())); while (!x0.equals(x1)) { ...
2024-01-10
Java BigDecimal精度问题
我知道以下行为是一个老问题,但我仍然不明白。System.out.println(0.1 + 0.1 + 0.1);或者即使我使用 BigDecimalSystem.out.println(new BigDecimal(0.1).doubleValue() + new BigDecimal(0.1).doubleValue() + new BigDecimal(0.1).doubleValue());为什么这个结果是:0.30000000000000004而不是:0.3?我该如何解决?回答:你真...
2024-01-10
在项目之间共享gitlab-ci.yml
我们正在考虑将ci从jenkins迁移到gitlab。我们有几个项目具有相同的构建工作流程。现在,我们使用一个定义了管道的共享库,而项目内部的jenkinsfile仅调用在共享库中定义的定义实际管道的方法。因此,仅需在单个点上进行更改即可影响多个项目。我想知道gitlab ci是否也可以做到?据我发现,无法在存...
2024-01-10
如何提取double / BigDecimal的小数位数
假设我们有一个双值12345.6789(应该是动态的)现在,需求是对数字进行拆分并获得十进制数字和小数位数,它们将是:double number = 12345.6789;int decimal = 12345;int fractional = 6789;我得到了小数部分的结果,但是请您给出小数部分的提示?非常感谢。回答:double number = 12345.6789; // you have this int decimal = (...
2024-01-10
Java BigDecimal三角函数方法
我正在开发一个数学解析器,它能够评估String'5+b*sqrt(c^2)'。我正在使用ANTLR进行解析,并取得了良好的进展。现在,我跌倒Java类BigDecimal并思考:嘿,为什么不在这里考虑精度。我的问题是Java API没有为BigDecimals like 提供三角函数java.lang.Math。您是否知道是否有诸如ApacheCommons这样的好数学库可以解决此...
2024-01-10
java BigDecimal详解(转载)
无意中看到csdn上jackiehff大神的帖子,转载一下,受教了1.引言 借用《Effactive Java》这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确...
2024-01-10
Java中使用BigDecimal的舍入模式
以下代码使用RoundingMode.HALF_EVEN,BigDecimal value1 = new BigDecimal("4.5");value1=value1.setScale(0, RoundingMode.HALF_EVEN);BigDecimal value2 = new BigDecimal("6.5");value2=value2.setScale(0, RoundingMode.HALF_EVEN);System.out.println(value1+"\n"+value2);分别显示...
2024-01-10
在Java中从BigDecimal移除尾随零
我需要从去除尾随零BigDecimal沿RoundingMode.HALF_UP。例如,Value Output15.3456 <=> 15.3515.999 <=> 16 //No trailing zeros.15.99 <=> 15.9915.0051 <=> 15.0115.0001 <=> 15 //No trailing zeros.15.000000<=> 15 //No trailing zeros....
2024-01-10
Java BigDecimal内存使用情况?
是否有一个准则来估计a消耗的内存量BigDecimal?寻找类似于这些准则的估计String内存使用情况的东西。回答:如果您查看源代码中的字段,则BigDecimal有:BigDecimal: long intCompact +8 bytes int precision +4 bytes int scale +4 bytes String stringCache +? BigInteger intVal +?BigInteger: int bitCount +4 bytes int bitLe...
2024-01-10
按两个字段分组,然后对BigDecimal求和
我有一张税单:TaxLine = title:"New York Tax", rate:0.20, price:20.00TaxLine = title:"New York Tax", rate:0.20, price:20.00TaxLine = title:"County Tax", rate:0.10, price:10.00TaxLine类为public class TaxLine { private BigDecimal price; private BigDecimal rate; ...
2024-01-10
BigDecimal精度无法与JPA注释保持一致
我正在使用javax.persistence API和Hibernate在Oracle 11g Express数据库中创建注释并将实体及其属性持久化。我在实体中具有以下属性:@Column(precision = 12, scale = 9)private BigDecimal weightedScore;目标是保留一个最大为12位的十进制值,并且在小数点右边最多保留9个数字。计算后weightedScore,结果为0.1234,但是一旦我...
2024-01-10
如何在Java中创建随机的BigDecimal?
这个问题:如何生成随机BigInteger描述了一种与BigIntegers实现与Random.nextInt(int n)相同的语义的方法。我想对BigDecimal和Random.nextDouble()做同样的事情。上述问题的一个答案建议创建一个随机的BigInteger,然后从中以随机的比例创建一个BigDouble。一个非常快速的实验表明这是一个非常糟糕的主意:)我的直...
2024-01-10
Java,仅提取BigDecimal的小数部分?
在Java中,我正在使用BigDecimal该类,并且代码的一部分要求我从其中提取小数部分。BigDecimal似乎没有任何内置方法可以帮助我获取a的小数点后的数字BigDecimal。例如:BigDecimal bd = new BigDecimal("23452.4523434");我想4523434从上面表示的数字中提取。最好的方法是什么?回答:我会尝试的bd.remainder(BigDecimal.ONE...
2024-01-10
如何在Java中将BigDecimal转换为Double?
我们如何在Java中转换BigDecimal成Double?我有一个要求,我们必须使用Double作为参数,但是我们越来越明白了,BigDecimal所以我必须转换BigDecimal成Double。回答:您需要使用该doubleValue()方法从BigDecimal对象获取double值。BigDecimal bd; // the value you getdouble d = bd.doubleValue(); // The double you want...
2024-01-10
如何在Java中检查BigDecimal变量== 0?
我有以下Java代码;BigDecimal price; // assigned elsewhereif (price.compareTo(new BigDecimal("0.00")) == 0) { return true;}编写if条件的最佳方法是什么?回答:使用compareTo(BigDecimal.ZERO)代替equals():if (price.compareTo(BigDecimal.ZERO) == 0) // see below与BigDecimal常量进行比较BigDecima...
2024-01-10
为什么Java BigDecimal返回1E + 1?
为什么此代码有时返回1E + 1,而对于其他输入(例如17)却没有以科学计数法打印输出?BigDecimal bigDecimal = BigDecimal.valueOf(doubleValue).multiply(BigDecimal.valueOf(100d)).stripTrailingZeros();System.out.println("value: " + bigDecimal);回答:使用bigDecimal.toPlainString(): BigDecimal bigDecimal = ...
2024-01-10
Java BigDecimal:四舍五入到最接近的整数
我需要以下结果100.12 -> 100.00100.44 -> 100.00100.50 -> 101.00100.75 -> 101.00.round()还是.setScale()?我该怎么办?回答:您可以使用setScale()将小数位数减少为零。假设value拥有要取整的值:BigDecimal scaled = value.setScale(0, RoundingMode.HALF_UP);System.out.println(value + " -> " + scaled);使用起来round(...
2024-01-10
如何在.gitlab-ci.yml中的Docker容器中装载卷?
我在.gitlab-ci.ymlandroid项目中使用docker作为GitLabCI运行器。在测试运行结束时,gradlew将测试结果保存在build目录下的xml和html中:Finished generating test XML results (0.001 secs) into: /builds/org/project/sdk/build/test-results/release Generating HTML test report...Finished generating test htm...
2024-01-10
