如何在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 = quantite;

}

public BigDecimal getPrixUnit() {

return prixUnit;

}

public void setPrixUnit(BigDecimal prixUnit) {

this.prixUnit = prixUnit;

}

public BigDecimal methCal(BigDecimal quantite, BigDecimal prixUnit){

this.prixUnit=prixUnit;

BigDecimal j = new BigDecimal(quantite);

this.j = quantite;

return quantite*prixUnit ;

}

有人能帮我吗?

回答:

要将整数(或字节/短/浮点数/双精度数)与BigInteger(或BigDecimal)相乘,必须先将本机数字转换为BigInteger /

BigDecimal。

// int parameter can be int or Integer

public static BigInteger multiply ( int a, BigInteger b ) {

return BigInteger.valueOf( a ).multiply( b );

}

// BigInteger <> BigDecimal

public static BigDecimal multiply ( int a, BigDecimal b ) {

return BigDecimal.valueOf( a ).multiply( b );

}

// same for add, subtract, divide, mod etc.

注意:valueOf是不一样的new,而且在不同的原因的BigDecimal和BigInteger的。在这两种情况下,我建议valueOfnew


我看到您添加了代码,很好。它不起作用,因为Integer与BigDecimal混合使用,*也不适用于BigDecimal。如果将其与我的代码进行比较,则修复应该很明显:

public BigDecimal methCal ( int quantite, BigDecimal prixUnit ) {

return BigDecimal.valueOf( quantite ).multiply( prixUnit );

}

以上是 如何在java中将整数转换为bigdecimal 的全部内容, 来源链接: utcz.com/qa/421431.html

回到顶部