草庐IT

bigdecimal

全部标签

java - 是否有 BigDecimal 上的 Square Root 库?

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,describetheproblem以及到目前为止为解决这个问题所做的工作。关闭9年前。ImprovethisquestionJava中是否有任何用于平方根而不是BigDecimal的库? 最佳答案 JSciencev4.3.1有一个Real似乎相当于BigDecimal的类,这可能会对您有所帮助。使用

java - 在java中将字符串转换为BigDecimal

我正在将一种货币从XML读入Java。Stringcurrency="135.69";当我将其转换为BigDecimal时,我得到:System.out.println(newBigDecimal(135.69));输出:135.68999999999999772626324556767940521240234375.为什么会输出这么多数字?我怎样才能避免这种情况?我只想让它输出135.69。 最佳答案 BigDecimal(double)构造函数可能具有不可预测的行为。最好使用BigDecimal(String)或BigDecim

java - 使用 BigDecimal 将两个数字相乘会返回错误值

执行以下代码:newBigDecimal(0.06*3).toString()返回0.179999999999999993338661852249060757458209991455078125而不是0.18。执行中newBigDecimal(0.06).multiply(newBigDecimal(3)).toString()返回相同的结果。这怎么可能? 最佳答案 您不是使用BigDecimal将两个数字相乘。您使用double算术将它们相乘,并将结果传递给BigDecimal构造函数。你想要:newBigDecimal("0.0

java - 将 Long 转换为 BigDecimal

如何将Long转换为BigDecimal? 最佳答案 您必须创建一个新的BigDecimal。BigDecimald=newBigDecimal(long); 关于java-将Long转换为BigDecimal,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/921621/

java - 如何在 java 中从 float 转换为 bigDecimal?

如何在java中将float转换为bigDecimal? 最佳答案 BigDecimalvalue=newBigDecimal(Float.toString(123.4f));来自javadocs,字符串构造函数通常是将float转换为BigDecimal的首选方法,因为它不会受到BigDecimal(double)构造函数的不可预测性的影响。引用自文档:Note:ForvaluesotherfloatanddoubleNaNand±Infinity,thisconstructoriscompatiblewiththevaluesr

java - 如何使用 BigDecimal.ROUND_HALF_UP 将 0.745 舍入到 0.75?

我尝试了以下,doubledoubleVal=1.745;doubledoubleVal1=0.745;BigDecimalbdTest=newBigDecimal(doubleVal);BigDecimalbdTest1=newBigDecimal(doubleVal1);bdTest=bdTest.setScale(2,BigDecimal.ROUND_HALF_UP);bdTest1=bdTest1.setScale(2,BigDecimal.ROUND_HALF_UP);System.out.println("bdTest:"+bdTest);//1.75System.out.

java - 为什么 BigDecimal ("5.50")不等于 BigDecimal ("5.5")以及如何解决这个问题?

其实我已经找到了可能的解决方案//returnstruenewBigDecimal("5.50").doubleValue()==newBigDecimal("5.5").doubleValue()当然,它可以通过Math.abs(v1-v2)来改进为了使比较更加稳健,但问题是这种技术是否可以接受还是有更好的解决方案?如果有人知道为什么java设计者决定以这种方式实现BigDecimal的equals,那么阅读起来会很有趣。 最佳答案 来自BigDecimal的javadocequalspublicbooleanequals(Obj

java - 如何将 BigDecimal 乘以 Java 中的整数

如何在Java中将BigDecimal与整数相乘?我试过了,但它不正确。importjava.math.BigDecimal;importjava.math.MathContext;publicclassPayment{intitemCost;inttotalCost=0;publicBigDecimalcalculateCost(intitemQuantity,BigDecimalitemPrice){itemCost=itemPrice.multiply(itemQuantity);totalCost=totalCost+itemCost;returntotalCost;}

java - 将 Java 数字转换为 BigDecimal : best way

我正在寻找将数字转换为BigDecimal的最佳方法。这够好吗?Numbernumber;BigDecimalbig=newBigDecimal(number.toString());我们可以使用toString()方法丢失精度吗? 最佳答案 这很好,记住使用BigDecimal的构造函数来声明一个不是String类型的值是很危险的。考虑以下...BigDecimalvalDouble=newBigDecimal(0.35);System.out.println(valDouble);这不会打印0.35,它实际上是......0.3

java - BigDecimal,精度和规模

我在我的应用程序中使用BigDecimal作为我的数字,例如,使用JPA。我对“精度”和“规模”这两个术语进行了一些研究,但我不明白它们到底是什么。谁能解释一下BigDecimal值的“精度”和“比例”的含义?@Column(precision=11,scale=2)谢谢! 最佳答案 一个BigDecimal由两个值定义:任意精度整数和32位整数scale。BigDecimal的值定义为.精度:Theprecisionisthenumberofdigitsintheunscaledvalue.Forinstance,forthenu