没有新运算符的BigInteger转换为BigDecimal

时间:2022-04-06 16:52:52

How can I convert BigInteger value to BigDecimal without using new operator?

如何在不使用new运算符的情况下将BigInteger值转换为BigDecimal?

For instance, if I have an integer value like:

例如,如果我有一个整数值,如:

abc=4000. 

I should get the output as:

我应该得到输出:

xyz= 4000.0

2 个解决方案

#1


4  

use valueOf if you mean that your own code should not use new operator.

如果你的意思是你自己的代码不应该使用new运算符,请使用valueOf。

BigDecimal.valueOf(abc.longValue());

if abc is a BigInteger.

如果abc是一个BigInteger。

If you want to create the object without using new in your code and in the code of the jre then you can not do it. BigDecimal.valueOf() uses new to create a BigDecimal object.

如果你想在你的代码和jre的代码中不使用new来创建对象,那么你就无法做到。 BigDecimal.valueOf()使用new来创建BigDecimal对象。

#2


0  

No you cant, you can do it only with primitive types, everyting else is an object and has to be instantiate by using new operator. It might use it "under the hood" in example wrapped in factory method like valueOf for BigDecimals but it will be still using it.

不,你不能,你只能用原始类型来做,其他的都是一个对象,必须通过使用new运算符来实例化。它可能在“引擎盖下”使用它在示例中包含在工厂方法中,例如BigOcimals的valueOf,但它仍然会使用它。

#1


4  

use valueOf if you mean that your own code should not use new operator.

如果你的意思是你自己的代码不应该使用new运算符,请使用valueOf。

BigDecimal.valueOf(abc.longValue());

if abc is a BigInteger.

如果abc是一个BigInteger。

If you want to create the object without using new in your code and in the code of the jre then you can not do it. BigDecimal.valueOf() uses new to create a BigDecimal object.

如果你想在你的代码和jre的代码中不使用new来创建对象,那么你就无法做到。 BigDecimal.valueOf()使用new来创建BigDecimal对象。

#2


0  

No you cant, you can do it only with primitive types, everyting else is an object and has to be instantiate by using new operator. It might use it "under the hood" in example wrapped in factory method like valueOf for BigDecimals but it will be still using it.

不,你不能,你只能用原始类型来做,其他的都是一个对象,必须通过使用new运算符来实例化。它可能在“引擎盖下”使用它在示例中包含在工厂方法中,例如BigOcimals的valueOf,但它仍然会使用它。