要将整数(或字节/短/浮点数/双精度数)与BigInteger(或BigDecimal)相乘,必须先将本机数字转换为BigInteger /
BigDecimal。
// int parameter can be int or Integerpublic static BigInteger multiply ( int a, BigInteger b ) { return BigInteger.valueOf( a ).multiply( b );}// BigInteger <> BigDecimalpublic static BigDecimal multiply ( int a, BigDecimal b ) { return BigDecimal.valueOf( a ).multiply( b );}// same for add, subtract, divide, mod etc.
注意:
valueOf是不一样的new,而且在不同的原因的BigDecimal和BigInteger的。在这两种情况下,我建议valueOf过new。
我看到您添加了代码,很好。它不起作用,因为Integer与BigDecimal混合使用,
*也不适用于BigDecimal。如果将其与我的代码进行比较,则修复应该很明显:
public BigDecimal methCal ( int quantite, BigDecimal prixUnit ) { return BigDecimal.valueOf( quantite ).multiply( prixUnit );}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)