java - 将 Bigdecimal 转换为 Integer

标签 java casting

我在生产线上遇到异常

int cdStatus = ((Integer)vecColumns.elementAt(1)).intValue();


 00000050 CommerceSrvr  E com.ibm.commerce.command.ECCommandTarget executeCommand CMN0420E: 
 The following command exception has occurred during processing: "java.lang.ClassCastException: java.math.BigDecimal incompatible with java.lang.Integer". 
 java.lang.ClassCastException: java.math.BigDecimal incompatible with java.lang.Integer
    at com.ibm.commerce.promotion.facade.server.commands.ValidateUniquePromotionCodesTaskCmdImpl.verifyPromotionCodes(ValidateUniquePromotionCodesTaskCmdImpl.java:137)
    at com.ibm.commerce.promotion.facade.server.commands.ValidateUniquePromotionCodesTaskCmdImpl.performExecute(ValidateUniquePromotionCodesTaskCmdImpl.java:84)

这里 veColumn 是一个 Vector,elementAt(1) 是数据库中的一个列,在数据库端的类型为smallInt。我不确定这张图中有多大的小数?

最佳答案

您从数组中提取的元素具有 BigDecimal 类型。您无法将 BigDecimal 转换为 Integer。将转换为 Integer 的转换替换为转换为 BigDecimal 的转换,它应该可以工作。

关于java - 将 Bigdecimal 转换为 Integer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30423221/

相关文章:

java - Jersey 2.5.x 中的 JSONConfiguration 去了哪里?

java - 抽象类上的 EJB 注入(inject)

java - 在 Android 中使用另一个 List<String> 追加到全局列表 <String>

java - 在 hql 中将字符串列转换为日期

swift - 当子类中有覆盖函数时如何转换为父类(super class)

c# - 如何检查计算是否在整数较高和较低范围内

java - 将第一个单词移动到 Java 中的最后一个位置

java - ArrayDqueue类的add(E e)和offer(E e)的区别

Java - 从 Object 到 Map.Entry<String,String> 的未经检查的转换

c++ - 访问 union 成员需要类型转换吗?