在java中如何将BigDecimal转换为Double?我有一个要求,我们必须使用Double作为参数,但我们得到的是BigDecimal,所以我必须将BigDecimal转换为Double。
使用BigDecimal类中存在的双值方法:
double doubleValue()
将此BigDecimal转换为double。
您可以使用将bigdecimic转换为double。doubleValue()
。但相信我,如果你有汇率操纵,就不要使用它。它应该始终直接在BigDecimal对象上执行。这些计算中的精度损失是货币相关计算中的一个大问题。
您需要使用doubleValue()
方法从BigDecimal对象获取双精度值。
BigDecimal bd; // the value you get
double d = bd.doubleValue(); // The double you want
问题内容: 我怎样才能投来? 问题答案: 您必须创建一个新的。
问题内容: 我们如何在Java中转换成?我有一个要求,我们必须使用Double作为参数,但是我们越来越明白了,所以我必须转换成。 问题答案: 您需要使用该方法从BigDecimal对象获取double值。
问题内容: 我想创建一种计算整数和大十进制乘法的方法。我在Google和论坛上搜索没有找到任何内容。 有人能帮我吗? 问题答案: 要将整数(或字节/短/浮点数/双精度数)与BigInteger(或BigDecimal)相乘,必须先将本机数字转换为BigInteger / BigDecimal。 注意:是不一样的,而且在不同的原因的BigDecimal和BigInteger的。在这两种情况下,我建议
类有一些有用的方法来保证无损转换: <代码>字节值精确() 但是,方法floatValueExact()和doubleValueExact()不存在。 我阅读了方法和的OpenJDK源代码。两者似乎都分别回退到和,它们可能返回正无穷大或负无穷大。例如,解析10,000个9s的字符串将返回正无穷大。据我所知,没有无穷大的内部概念。此外,将100个9s的字符串解析为给出了,这不是无穷大,而是失去了精度
更新:我已经尝试将getCalcMean()和calcMean;我理解这个错误的含义,但我不知道如何修复它,因为最终结果需要是double,我认为java可以计算double和int并得到double。我做错了什么? 我正在计算键入999后的总数平均值,但它一直显示为0,我不知道为什么。 有人能告诉我如何让我的getCalcMean()方法将平均值显示为numTotal/count吗? ---班级
问题内容: 我有Hibernate方法,它返回给我一个BigDecimal。我有另一个API方法,我需要将该数字传递给它,但是它接受Integer作为参数。我不能更改两种方法的返回类型或变量类型。 现在如何将BigDecimal转换为Integer并将其传递给第二种方法? 有没有解决的办法? 问题答案: 您将致电(或仅致电),如果您丢失了信息,它甚至会引发异常。返回一个int,但是自动装箱可以解决