我正在使用 jOpenDocument 库处理 .ods 电子表格。由于我正在处理字符串,所以一切都很好,但是当涉及到处理数字时,这很痛苦。
在我的代码中,我迭代电子表格并根据索引 x,y 处的单元格假定的值进行一些计算。令人惊讶的是,我无法得到我得到的值的类:
BigDecimal ferialestringa;
while (true) {
boolean duplicate = false;
value = (String) sheet.getValueAt(0, count);
System.out.println(sheet.getValueAt(5, count).getClass());
ferialestringa = (BigDecimal) sheet.getValueAt(5, count);
这段代码打印出来:
class java.math.BigDecimal
class java.lang.String
Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.math.BigDecimal
at InspectTwitter.main(InspectTwitter.java:78)
您可以看到该值似乎属于两个不同的类。
如果我尝试将返回的对象解析为字符串,我还会得到另一个 ClassCastException:
class java.math.BigDecimal
Exception in thread "main" java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.String
at InspectTwitter.main(InspectTwitter.java:78)
请注意,这次该类似乎只是 BigDecimal。
我试图查找文档,但此javadoc 上只有 Sheet.getValueAt(String) 可用。(虽然我在教程中找到了这种方法,它似乎在字符串上运行得很好)。我应该怎么办?